大量のファイルがあり、各番号はスペースで区切られています。ファイル内の場所をすばやく探します。
ようなのような:124 1212 5 654 74231 ...
どのように私はすぐにこのファイル内のN番目の番号を見つけることができますか?
私はそれはバイトで測定しているためfseek()
が動作しないかもしれないと思う、と私はでN番目の番号を取得することができます:
int i;
for (i=0;i!=N-1;++i) fscanf(somefile,"%d",&variable);
しかし、私は、より効率的ないくつかの方法があるかもしれないと思いますか?
、あなたはftellは()あなたはに戻るためにFSEEKに渡すことができますファイルポインタのバイト位置を取得するために使用することができますその場所はかなり瞬時に。 –
@MarcB残念ながら、私は今見つかった番号に戻る必要はありません。他の数十万もの番号を見つけた後に戻ることがあります。 – goofy
ファイルに格納されている数値にプロパティがない場合(たとえば3桁の長さの場合など)、唯一の方法はN番目の整数に達するまでファイル全体を読み取ることです。 – mfontanini