C++ 如何从.txt(C+;+;)获取特定行

C++ 如何从.txt(C+;+;)获取特定行,c++,iostream,getline,C++,Iostream,Getline,我想从一个名为“test.txt”的txt文件中获取第一行,我已经发现了getline函数,但是我不确定为什么我的代码不能工作,或者我需要做什么。我想从.txt文件中获取第一行,但出于某种原因,它会打印“t”。如果我处理不当,请随意纠正我。这是我正在使用的代码: string FirstLine; ifstream File("test.txt"); string line; if (File) { while (getline(File, line)) { F

我想从一个名为“test.txt”的txt文件中获取第一行,我已经发现了getline函数,但是我不确定为什么我的代码不能工作,或者我需要做什么。我想从.txt文件中获取第一行,但出于某种原因,它会打印“t”。如果我处理不当,请随意纠正我。这是我正在使用的代码:

string FirstLine;
ifstream File("test.txt");
string line;

if (File)
{
    while (getline(File, line))
    {
        FirstLine = line[0];
    }

    File.close();
}
cout << FirstLine;
字符串第一行;
ifstream文件(“test.txt”);
弦线;
如果(文件)
{
while(getline(文件,行))
{
第一行=第[0]行;
}
File.close();
}

cout如果您只需要第一行:

string line;
getline(File, line);
然后,文件的第一行存储在
line
中,作为您猜到的字符串

要获取所有行(逐行):

字符串第一行;
ifstream文件(“test.txt”);
弦线;
如果(文件)
{
getline(文件,行);
第一行=第二行;
File.close();
}

如果你只想要第一行,那么为什么你有一个循环来继续阅读呢?另外,
行[0]
是该行的第一个字符,因此您根本不保存任何行。啊,这对第一个字符很有意义。如何选择.txt的行?
FirstLine=line
将把读取的行分配到
第一行
,但是使用while循环,您将一直这样做直到文件结束,
第一行
将是最后一行。
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;