中学校で,コンピュータ部に所属している者です。
sprintf()関数を(例えば)以下のソース(C言語としてコンパイル)のように使うと,
C言語
1#include <stdio.h> 2 3int main() 4{ 5 double value = 2; 6 char str[21]; 7 8 sprintf(str , "%lf" , value); //'value'(2)を文字列に変換 9 puts(str); //'str'をDOS窓に出力 10 11 //以降,後処理 12 (void)getchar(); 13 return 0; 14} 15//EOF
DOS窓に"2.000000"と出力されます(つまり'str'が"2.000000"となっている)。
今作っているプログラムで,上記のソースでいう'value'が,整数だったり小数だったりするのですが(小数点以下も可変長),
整数が代入された場合 毎回'str'が"x.000000"となるのはうざいので,
これを回避するにはどうすればいいのか御回答お願いします。
'value'が小数なのか整数なのか判別するプログラムでも構いません。
よろしくお願いします。
OS : Microsoft Windows10 Home
Cコンパイラ : MinGW-W64gcc
> char str;
ここがタイトルとも異なっており,提示コードに誤りがあるように見えます.
間違いであれば修正すると良いかと.
本題とは関係ないのでこっちに。
rewind(stdin);
は、stdin には使わないほうがいいですよ。
ファイルリダイレクトなどされると、最初の1行目に戻ったりします。
http://www9.plala.or.jp/sgwr-t/lib/rewind.html
回答2件
あなたの回答
tips
プレビュー