C言語の標準ライブラリ関数である freadでバイナリファイルからデータを読み込む際に
読み込むバイナリファイルのデータの型が分かっていないと、読み込んだ後にprintfなどで
表示することはできないと思いますが、これはなぜでしょうか?またC側でなぜバイナリファイルのデータがlongやcharなどを判別できているのでしょうか?
バイナリファイルのデータはlong型だったが以下のように読み込もうとしていた
char buf[5]; fread(buf, sizeof(char), 4, fp); buf[4] = '¥0'; printf("%s", buf);
こちらだとうまく表示できた
long buf; fread(&buf, sizeof(long), 1, fp); printf("%ld", buf);
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。