【发布时间】:2015-03-21 19:28:14
【问题描述】:
我是 C++ 新手,我想问一个关于如何使用 fstream 在文件中查找行的问题。 我只发现了这个,有人可以向我解释一下这些参数的含义吗?
file.getline(char *,int sz);
谢谢
【问题讨论】:
我是 C++ 新手,我想问一个关于如何使用 fstream 在文件中查找行的问题。 我只发现了这个,有人可以向我解释一下这些参数的含义吗?
file.getline(char *,int sz);
谢谢
【问题讨论】:
如果您的意思是std::basic_stream::getline(),您提供一个指向字符数组的指针和该数组的大小。您必须自己在某处创建数组。如果某行长于sz - 1,则只会读取长度为sz - 1的部分。
如果你不知道输入文件的最大行长,最好使用std::getline(),例如这样:
std::string line;
std::getline(file, line);
【讨论】:
直接来自here:
第一个变量:
指向字符数组的指针,其中提取的字符存储为 c 字符串。
第二个变量:
要写入 s 的最大字符数(包括终止空字符)。 如果函数停止读取,因为在没有找到分隔符的情况下达到此限制,则设置故障位内部标志。 streamsize 是有符号整数类型。
【讨论】: