- ベストアンサー
C++で、テキストファイルを一行ずつ読み込んで配列に入れたいのですが、
C++で、テキストファイルを一行ずつ読み込んで配列に入れたいのですが、うまくできません! テキストには -3.0 1.0 2.0 ・・・などのように一行に一つの数値が入って縦に並んでいます。 それをひとつずつ読み込み、新しい配列(たとえばa[])に順番にいれたいのです。 a[1]=-3.0,a[2]=1.0、・・・と なるように。 どうか、この初心者にご指導お願いいたします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (5)
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.6
- cyacya2000
- ベストアンサー率54% (39/71)
回答No.5
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.4
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.2
- titokani
- ベストアンサー率19% (341/1726)
回答No.1
お礼
回答ありがとうございます。 先に、補足の方を書いてしまって変更できないようなので、こちらで書かせて頂きます。 fscanをつかって n=3500;/*数値の数*/ fp=fopen("date.txt","r"); for ( i = 0; i < n; i++ ) { fscanf( fp, "%1.5e", &a[ i ] ); } fclose( fp ); として、このあとprintfで、配列a[]を書き出したところ, まったくでたらめな数値が書き出されてしまいました。 忠告頂いた、「書式とデータがあっていない」という状態なのでしょうか?
補足
回答ありがとうございます。 えっと、つまりは while内で、 { fgets(buffer,size,fp) d=atof("buffer"); } などと行えばいいのでしょうか。 また、この補足を読まれて、もしお時間があれば fscan関数の使い方をお教え願いたいのですが。 ファイル操作関連は、参考書などが曖昧(実際にテキストファイルとその中身を具体的に書いていないため?)で、実際にはどのように使用したら良いのかわかりません。