如何从.txt获取特定行(C++)
问题描述:
我希望获得一个名为“test.txt”的txt文件的第一行帮助,我发现了getline函数,但我不确定为什么我的代码不起作用或我需要做的事情。我想从.txt文件中获得第一个行,但由于某种原因它会打印“t”。如果我没有正确处理它,请随时根据需要纠正我。这是我使用的代码:如何从.txt获取特定行(C++)
string FirstLine;
ifstream File("test.txt");
string line;
if (File)
{
while (getline(File, line))
{
FirstLine = line[0];
}
File.close();
}
cout << FirstLine;
这是.txt文件:
这是1号线
这是2号线
这是3
答
线
如果您只想要第一行:
string line;
getline(File, line);
然后
你的文件的第一行存储在line
的,你猜对了,串
要获得所有线(逐行):
while(getline(File, line).good())
//do something with line
答
string FirstLine;
ifstream File("test.txt");
string line;
if (File)
{
getline(File, line);
FirstLine = line;
File.close();
}
cout << FirstLine;
是绝对的最小变化你需要你的代码来使它做你想做的事情。但是,上述代码示例有很大的改进余地。例如,为什么要创建两个字符串,即line
和FirstLine
,只需将FirstLine
传递给getline()
函数。我只是修改了你提供的内容,以突出哪里出错的地方。希望这有助于...
如果你只想要第一行,那么你为什么有一个循环来继续阅读线?另外,'line [0]'是该行的第一个字符,所以你根本不保存任何行。 – crashmstr
对第一个字符有意义啊。如何选择.txt的行? – AlphaAl
'FirstLine = line;'将读取的行分配到'FirstLine'中,但是使用while循环,您将继续这样做直到文件结尾和FirstLine将成为最后一行。 – crashmstr