• ベストアンサー

実数→文字列の方法

文字列を実数に変換するのに関数atofを使いますが、それとは逆に、 プログラム内で算出された実数を文字列にどう変換したらよいのでしょうか? 算出された実数を配列Xに納め、それをfopenで書き込み用として開いてるファイル(ポインタ名はfp)に fputs(x,fp) としたら error: cannot convert `double*' to `const char*' for argument `1' to `int fputs(const char*, FILE*)' と表示されてしまいました。実数を文字列に変換してからでないとダメかと思っています。

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

  • ベストアンサー
  • salsberry
  • ベストアンサー率69% (495/711)
回答No.3

> この記述で配列Xの要素一つずつを1行ごとに書き込むことは可能でしょうか? Xというのが配列形の変数の名前ならば、コンパイルエラーがなくても意図した結果は得られないでしょう。 配列の要素の数だけ自分でループするコードを書かないと。 for (i=0; i<NUMBER_OF_ELEMENTS_IN_X; i++) fprintf(fp,"%f\n",X[i]);

rurur
質問者

お礼

ご教授ありがとうございました。

その他の回答 (2)

回答No.2

>この記述で配列Xの要素一つずつを1行ごとに書き込むことは可能でしょうか? 可能です。 fprintf()は、printf()のファイル出力版だと思ってください。 printf()で表示する方法をそのままfprintf()に置き換えてください。

rurur
質問者

お礼

あ教授ありがとうございました。

  • kent_a
  • ベストアンサー率18% (36/199)
回答No.1

sprintfを使えばできます。 ファイルに書き込みたいなら、fprintfでもいいのでは?

rurur
質問者

補足

fprintfでコンパイルすることができました。 fprintf(fp,"%f\n",X); このように記述したのですが、この記述で配列Xの要素一つずつを1行ごとに書き込むことは可能でしょうか?