2016-09-22 2 views
-1

txtfile.txtの最初の行を取得するのに問題があります。私は2番目のパラメータの数値を変更して完全に削除しようとしました。何も働いていないし、何らかの理由で私は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(); 
     } 
    } 
関連する問題