从文件中读取时,我们有两种方法
方式1:
ifstream fin("data.txt");
const int LINE_LENGTH = 100;
char str[LINE_LENGTH];
while( fin.getline(str,LINE_LENGTH) )
{
cout << "Read from file: " << str << endl;
}
方式2:
ifstream fin("data.txt");
string s;
while( getline(fin,s) )
{
cout << "Read from file: " << s << endl;
}
哪个更好?个人而言,我更喜欢way2,因为我不需要指定最大长度,你的意见是什么?
答案 0 :(得分:2)
方式2更好(更惯用,避免可能破坏解析的硬编码长度)。我的写法略有不同:
for(string s; getline(fin,s); )
{
cout << "Read from file: " << s << endl;
}
答案 1 :(得分:2)
std :: getline 和 istream :: getline 来自不同的接口,并接受不同类型的参数。
特别是对于你的情况,我同意使用 std :: getline(fin,s)更方便。