dポイントプレゼントキャンペーン実施中!

fscanfした後、ファイルポインタがどこまで進んでいるか知りたいのですが、どうすればわかるのでしょうか?

A 回答 (2件)

ファイルポインタの位置を知るには


 fgetpos()
を使うとわかります。

以下に使い方の例を示します。
----------------------------------------------------------------

#include <stdio.h>

void main()
{
 FILE *fp;
 fpos_t pos; // 位置を格納するための専用変数です。(通常のlong型と使い方は同じです)

 if( (fp = fopen("temp.txt", "r")) == NULL )
 {
  return;
 }

 // 知りたい箇所で呼び出すと、pos変数に現在位置が格納されます
 fgetpos( fp, &pos );

 fclose( fp );
}

----------------------------------------------------------------

これで理解できたでしょうか(^_^)
    • good
    • 0

long pos1,pos2;


pos1 = ftell(fp);
fscanf(fp,…
pos2 = ftell(fp);

と言う事がやりたいのでは無く「何個の項目を取り込んだか、ファイルポインタが何項目分進んだか知りたい」と言う事でしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!