fgetc不是从大txt文件的开头开始的
我在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 #include #include 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; } }
我怀疑问题出在其他地方。
这个程序的输出在哪里? 如果您将其发送到控制台,其回滚缓冲区将不会大到足以包含整个文件。 也许它只是看起来像fgetc()
在一个奇怪的地方开始。
尝试将此程序的输出转移到新的文本文件,并将此文件的大小与输入文件的大小进行比较,例如:
./category_print >output.txt