ページ 11

fread("rb")で特定位置から読み込みたい

Posted: 2013年7月30日(火) 19:51
by bonbo
早速ですが質問させていただきます。

トピック名だと分かりにくいのですが、具体的にやりたいことは

コード:

FILE fp;
fp = fopen("test.tst", "wb");
for(int i=0;i<100;i++){
fwrite(&i,sizeof(i),1,fp);
}
fclose(fp);
このように100このint型を記録したファイルtest.tstから

コード:

FILE fp;
fp = fopen("test.tst", "rb");
// ここで64だけを読み込みたい
/*
for(int i=0;i<100;i++){
fread(&i,sizeof(i),1,fp);
}
のようにすれば読み込むことはできるが
これだとほかに99こを読み込む無駄な処理がある。
これをなんとかしたい。
*/
fclose(fp);
1つだけを読み込みたいということです。
説明が分かりづらくてすみません。

環境依存はないと思うのですが、一応
環境はXcode4.6.3とVS2010
ですよろしくおねがいします。

Re: fread("rb")で特定位置から読み込みたい

Posted: 2013年7月30日(火) 20:39
by h2so5
C言語の入門書の一つくらいは持っても損はないですよ。
こんなことでいちいち質問しないで済むと思います。

コード:

fseek(fp, sizeof(i) * 64, SEEK_SET);

Re: fread("rb")で特定位置から読み込みたい

Posted: 2013年7月30日(火) 23:20
by bonbo
>h2so5さん
ありがとうございます。
できました。
入門書にも載っていました。すみません…