Я хочу прочитать текстовый файл (максимальная длина 300 МБ) и найти шаблон (максимальная длина 100) в нем.Сначала я использовал текст char [1000000000] и fread для чтения текстового файла.Но я обнаружил, что лучше использовать следующий код:
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. Итак, программа завершается.Я не могу понять, в чем проблема ?????