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

时间:2016-09-22 05:35:01

标签: c++ file io ifstream getline

我在抓取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

2 个答案:

答案 0 :(得分:1)

如果您只想要第一行,请在获取第一行后从while循环中断:

while (fin.peek() != EOF){
    fin.getline(ex1, 100, '\n');
    cout << ex1 << endl;
    break;
    }
}

答案 1 :(得分:0)

    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();
       }
     }