为什么我的程序读取的不仅仅是 txt 文件的第一行?

Why is my program reading more than just the first line of my txt file?

我无法获取 txtfile.txt 的第一行。我试过更改第二个参数中的数字并将其完全删除。什么都没有用,出于某种原因我不能单独抓住 1。

int main() {
ifstream fin; 
char ex1[100];
fin.open("txtfile.txt");
if (fin.is_open()) {
    cout << "YES FILE OPENED" << endl; //testing if file opened
}
while (fin.peek() != EOF){
    fin.getline(ex1, 100, '\n');
    cout << ex1 << endl;
    }
}

txtfile.txt:低于

1
ABC
2

如果您只需要第一行,请在获取第一行后退出 while 循环:

while (fin.peek() != EOF){
    fin.getline(ex1, 100, '\n');
    cout << ex1 << endl;
    break;
    }
}
    int main()
    {
       ifstream fin; 
       char ex1[100];
       fin.open("txtfile.txt");
       if (fin)
       {        
          while (!fin.eof())
          {
             fin.getline(ex1, 100, '\n');
             cout << ex1 << endl;
          }
          fin.close();
       }
     }