2016-09-22 66 views
-1

我在抓取txtfile.txt的第一行時遇到了問題。我試着改變第二個參數中的數字並徹底刪除它。沒有任何工作,並由於某種原因,我不能單獨抓住1。爲什麼我的程序讀取的不僅僅是我的txt文件的第一行?

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 
+0

什麼是實際產出?什麼是期望的輸出? –

+0

https://en.wikipedia.org/wiki/While_loop – Galik

+0

如果你只想讀一次,你爲什麼要循環? – molbdnilo

回答

1

,得到了第一行後,從while循環打破:

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

由於某些原因'\ n'不起作用,整個文件打印出 –

+0

嘗試使用fin.getline(ex1,100)。刪除'\ n'分隔符。 – user3286661

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(); 
     } 
    } 
相關問題