• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テキストファイルからの数値の読み込みについて)

テキストファイルからの数値の読み込みについて

このQ&Aのポイント
  • C言語の初心者で、Microsoft Visual C++ 6.0 を使用しています。テキストファイルから数値を読み込むことに関して質問です。
  • テキストファイルから数値を読み込んだとき、正しい結果として-0.0266377が表示されるはずですが、もとのファイルをコピーしたファイルからは-9.25596e+061が表示されてしまいます。
  • さらに、正しく読める元ファイルとコピーしたファイルの違いを調べても、違いはありませんでした。質問者は現在Cのコンパイラしか使用できず、FortranのプログラムをCに変換しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • TMINET
  • ベストアンサー率32% (45/140)
回答No.1

いまいち言語がはっきりしていないのですがC言語ですか?C++ですか? #include <stdio.h> #include <stdlib.h> int main(){ FILE *fp; char buf[512]; double x; fp = fopen( "FILE_NAME", "r" ); if( fp == NULL ){ return -1; } if( fgets( buf, sizeof(buf), fp ) == NULL ){ return -1; } x = atof(buf); printf("%0.7lf",x); fclose( fp ); return 0; } C言語ならこんな書き方で良いと思います。確認とってませんが。

skk
質問者

お礼

教えて頂いたプログラムで、最所 fp = fopen( "c:\data\test.txt", "r" ); としていたので、うまくいかなかったのですが fp = fopen( "c:/data/test.txt", "r" ); とすることにより、正しく実行することができました。 ありがとうございました。今後とも宜しく御願いします。

skk
質問者

補足

早々の御教示、感謝致します。 CかC++かを明記せず申し訳ありませんでした。 Microsoft Visual C++ 6.0 はどちらもコンパイル できるのでCでも大丈夫です。問題はテキストファイルから の読みとりです。 御教示頂きましたプログラムを走らせた結果、もとの テキストファイルに関しては次のように正しい結果 を得ましたが -0.0266377Press any key to continue しかし、もとのファイルをコピーしたファイルとエディタ(メモ帳) で作ったファイルに対しては次のような、結果となり数値は 出力されませんでした。 Press any key to continue 再度、御教示願いたいと存じます。宜しく御願いします。

関連するQ&A