gpt4 book ai didi

c - fgetc 未从大 txt 文件的开头开始

转载 作者:行者123 更新时间:2023-11-30 17:42:58 25 4
gpt4 key购买 nike

我正在使用 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;
}

}

最佳答案

我怀疑问题出在其他地方。

这个程序的输出到哪里去了?如果您将其发送到控制台,其回滚缓冲区将不足以容纳整个文件。也许它只是看起来就像fgetc()从一个奇怪的地方开始。

尝试将此程序的输出转移到一个新的文本文件,并将该文件的大小与输入文件的大小进行比较,例如:

./category_print >output.txt

关于c - fgetc 未从大 txt 文件的开头开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20341044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com