- ベストアンサー
実数→文字列の方法
文字列を実数に変換するのに関数atofを使いますが、それとは逆に、 プログラム内で算出された実数を文字列にどう変換したらよいのでしょうか? 算出された実数を配列Xに納め、それをfopenで書き込み用として開いてるファイル(ポインタ名はfp)に fputs(x,fp) としたら error: cannot convert `double*' to `const char*' for argument `1' to `int fputs(const char*, FILE*)' と表示されてしまいました。実数を文字列に変換してからでないとダメかと思っています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> この記述で配列Xの要素一つずつを1行ごとに書き込むことは可能でしょうか? Xというのが配列形の変数の名前ならば、コンパイルエラーがなくても意図した結果は得られないでしょう。 配列の要素の数だけ自分でループするコードを書かないと。 for (i=0; i<NUMBER_OF_ELEMENTS_IN_X; i++) fprintf(fp,"%f\n",X[i]);
その他の回答 (2)
- SilverThaw
- ベストアンサー率32% (260/806)
>この記述で配列Xの要素一つずつを1行ごとに書き込むことは可能でしょうか? 可能です。 fprintf()は、printf()のファイル出力版だと思ってください。 printf()で表示する方法をそのままfprintf()に置き換えてください。
お礼
あ教授ありがとうございました。
- kent_a
- ベストアンサー率18% (36/199)
sprintfを使えばできます。 ファイルに書き込みたいなら、fprintfでもいいのでは?
補足
fprintfでコンパイルすることができました。 fprintf(fp,"%f\n",X); このように記述したのですが、この記述で配列Xの要素一つずつを1行ごとに書き込むことは可能でしょうか?
お礼
ご教授ありがとうございました。