gpt4 book ai didi

c++ - getline 的实现(istream& is, string& str )

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:11:30 25 4
gpt4 key购买 nike

我的问题很简单,getline(istream, string)是怎么实现的?如何解决像 getline (char* s, streamsize n ) 这样固定大小的 char 数组的问题?他们是否使用临时缓冲区和多次调用 new char[length] 或其他整洁的结构?

最佳答案

getline(istream&, string&) 以读取一行的方式实现。它没有明确的实现;每个库可能彼此不同。

可能的实现:

istream& getline(istream& stream, string& str)
{
char ch;
str.clear();
while (stream.get(ch) && ch != '\n')
str.push_back(ch);
return stream;
}

关于c++ - getline 的实现(istream& is, string& str ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12268538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com