C言語です。 ファイル入力の中で少数より下の数値の一部分を出力するプログラムを作っています。 (mid関数に似たようなものです)
C言語です。 ファイル入力の中で少数より下の数値の一部分を出力するプログラムを作っています。 (mid関数に似たようなものです) 作成したプログラムを動かすと、1.33~と表示してしまいます。 小数点以下から数えて3個目~6個目までという風にしたいのですが、 どのようにしたらいいでしょうか? ※fseekでできそうなのですが、習っていないので、fseek以外でやりたいです。 for (i=0; i <= b - a + 1; ++i) がおかしいと思い色々試したのですが、 想定した出力内容になりません。 ご教授お願いいたします。 【ファイル入力】 1.3383279502884197169 【標準入力】 3 6 【標準出力】 327(になるはず) #include <stdio.h> int main(int argc, char *argv[]) { FILE *fp; int a, b; int i; scanf("%d %d", &a, &b); printf("%d %d\n", a, b);//標準入力の値を表示してみる。 fp = fopen(argv[1], "r"); if (fp == NULL) { printf("%s : file not opened.\n", argv[1]); return 1; } if(a <= b) { for (i=0; i <= b - a + 1; ++i) { putchar(getc(fp)); } } fclose(fp); return 0; }
C言語関連・53閲覧
ベストアンサー
質問者からのお礼コメント
匿さん ありがとうございました。 私にわかりやすいコードの記述でしたので、ベストアンサーにさせていただきました。 大変助かりました。ありがとうございました。
お礼日時:5/22 9:39