下記のようなプログラムを作りました。
#include <stdio.h>
int main(void)
{
int buf[]={10,100,1000,10000};
FILE *file;
file=fopen("test.dat","wb");
fwrite(buf,sizeof(buf),1,file);
fclose(file);
return 0;
}
そこで、今度はファイルからの読み込みのプログラムを、下記の通り書いてみました。
#include <stdio.h>
int main(void)
{
int buf;
FILE *file;
file=fopen("test.dat","rb");
fread(&buf,sizeof(buf),1,file);
printf("%d¥n",buf);
return 0;
}
これも、テキスト通りでした。
しかし、fread(&buf,sizeof(buf),2,file);にしたら、10,100と出るのではないかと期待したのですが、実行結果は
10でした。
何故でしょうか?
初心者ですが、分かりやく教えて頂けますと幸いです。
尚、上記コードでは¥マークを半角でここで書くと、何故かバックスラッシュになってしまいます。
どうすれば、¥マークを半角で書けるのか、合わせて教えて頂けますと嬉しいです。
使用OS:WindowsXP
コンパイラー等:EasyIDEC ver0.0.9.0
出展:苦しんで覚えるC言語 P362