テキストファイル(最大長300MB)を読み込み、その中でパターン(最大長100)を検索したいと考えています。最初は、charテキスト[1000000000]とfreadを使ってテキストファイルを読みました。しかし、私は次のコードを使用した方がよいことがわかった。フリーダのC言語でのエラー
tFile = fopen("d:\\text.txt","r");
if(tFile==NULL){
fputs("Text File Error",stderr);
exit(0);
}
fseek (tFile,0,SEEK_END);
tSize = ftell(tFile);
printf("%d\n",tSize);
rewind(tFile);
tBuffer = (char*) malloc (sizeof(char)*tSize);
if (pBuffer == NULL){
fputs ("Memory Error",stderr);
free (tBuffer);
exit (0);
}
tresult = fread(tBuffer,sizeof(char),tSize,tFile);
if (tresult != tSize){
fputs ("Reading Error",stderr);
free (tBuffer);
exit (0);
}
fclose(tFile);
私も(tBuffer)自由を書きました。私のメイン()の終わりに。私はテキストファイルに2行、各行には10文字を持っています。プログラムをデバッグすると、tSizeは24になり、結果は22になります。したがって、プログラムは終了します。私は問題が何であるか理解できません。
'" rb "'で開いてみてください。そこに改行の変換があるのだろうかと思います。 –
ありがとうございます。できます.......... –