2011-07-18 11 views
0

ファイルの内容を解析する必要があります。文字列が入力として与えられ、文字列内の各文字をファイルの内容に検索する必要があります。だから私の最初のtoughtはCファイルの内容を解析する

while (readBytes = read(fd, buffer, sizeof(char)) > 0); 

でしたが、どのようにファイルにある各文字にアクセスすることを確認しますか?それで十分ですか

for (i = 0; i < SIZE; i++) 
{ 
    parseChar(buffer[i]); 
} 

私のファイルの内容がSIZEより大きい場合はどうなりますか?

+1

一度に1文字ずつファイルから読み込むだけではいかがですか。 'getchar()'を使って? –

答えて

0

ftellを使用してファイルのサイズを決定し、この関数を繰り返し呼び出すと(fpが次の位置に進むたびに)、ファイル 全体を解析できます。

1

ファイルがない場合は、ファイル全体を読み取らないでください。 readでいくつかのデータを読んだり、読み込んだ文字ごとにparseCharと呼んでください。ファイルの終わりに達するまで繰り返す。

while (readBytes = read(fd, buffer, BUFFER_LENGTH) > 0) 
{ 
    for (i = 0; i < readBytes; i++) 
    { 
     parseChar(buffer[i]); 
    } 
} 
関連する問題