我在C中工作并且有一个617kb的文本文件,我试图用fgetc
阅读。出于某种原因,fgetc
在文件中随机开始。我试过移动文件指针以开始fseek
但没有成功。我可以通过较小的文件使fgetc
工作得很好。任何帮助表示赞赏。
示例输入是25,000行数据类似于:
Product
23 660
2366 3
237 09
2 3730
23734
23 773
241 46
来源:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void print(FILE *category){
int ch = 'a';
while ((ch = fgetc(category)) != EOF){
printf("%c", ch);
}
getchar();
}
int main(void){
FILE *category = fopen("myFile", "r");
if (category == NULL){
puts("category file not found");
}
else{
print(category);
fclose(category);
return 0;
}
}
答案 0 :(得分:0)
我怀疑问题出在其他地方。
这个程序的输出在哪里?如果您将其发送到控制台,其回滚缓冲区将不会大到足以包含整个文件。也许它只是看起来,就像fgetc()
在一个奇怪的地方开始。
尝试将此程序的输出转移到新的文本文件,并将此文件的大小与输入文件的大小进行比较,例如:
./category_print >output.txt