C言語:ファイルの中身を正確に出力したい。
Q&A
解決したいこと
C言語でファイル名を入力し、該当するファイルを開いてその中に格納されている数字を表示するプログラムを作成する課題があります。
課題ではbmpファイルに
0
32
64
96
128
160
192
224
の数字が格納されいるファイルを使います。
しかし実行すると見当違いの値が出力されます。改善するにはどうすればいいのでしょうか?
発生している問題・エラー
ファイル名:test01.bmp
test01.bmpをオープンしました.
48
10
51
50
10
54
52
10
57
54
10
49
50
56
10
49
54
48
10
49
57
50
10
50
50
52
test01.bmpをクローズしました.
該当するソースコード
#include <stdio.h>
#include <stdlib.h>
#define MAXNAME 50
int main(void)
{
FILE* fp;
char filename[MAXNAME];
int i;
printf("ファイル名:");
scanf("%s", filename);
fp = fopen(filename, "r");
if (fp == NULL)
{
printf("%sをオープンできません.\n", filename);
exit(1);
}
printf("%sをオープンしました.\n", filename);
while ((i = fgetc(fp)) != EOF) {
printf("%d\n", i);
}
fclose(fp);
printf("%sをクローズしました.\n", filename);
return (0);
}
0