C 正在读取一个大的*.txt文件。为什么没有';我不能得到输出吗?

C 正在读取一个大的*.txt文件。为什么没有';我不能得到输出吗?,c,file-io,C,File Io,大家好,我正试图逐字读取一个大的txt文件,然后打印每个字,然后继续循环直到EOF,但运行此代码后我没有得到任何输出。我检查了一切,文件名是正确的,该文件也在同一个文件夹与我的c文件。谁能解释一下发生了什么事?非常感谢。以下是txt文件和代码: #包括 #包括 内部主(空){ 文件*填充; 煤焦温度1[25]; setvbuf(标准输出,空,0); infle=fopen(“littleregion.txt”,“r”); if(infle!=NULL){ while(fscanf(infle,

大家好,我正试图逐字读取一个大的txt文件,然后打印每个字,然后继续循环直到EOF,但运行此代码后我没有得到任何输出。我检查了一切,文件名是正确的,该文件也在同一个文件夹与我的c文件。谁能解释一下发生了什么事?非常感谢。以下是txt文件和代码:

#包括
#包括
内部主(空){
文件*填充;
煤焦温度1[25];
setvbuf(标准输出,空,0);
infle=fopen(“littleregion.txt”,“r”);
if(infle!=NULL){
while(fscanf(infle,“%s”,temp_1)!=EOF){
printf(“%s”,temp_1);
}
}否则{
printf(“无法打开文件”);
}
返回0;
}

尝试打印错误原因

} else {
    //printf("Couldn't open the file.");
    perror("open file");                 // prototype in <stdio.h>
}
}其他{
//printf(“无法打开文件”);
perror(“打开文件”);//中的原型
}

您未能解释所发布代码的问题;它不起作用不是一个有用的描述。它以什么方式不起作用?它没有打开文件吗?它读取的数据是否太少?太多错误的数据?如果你需要帮助,请清楚地解释问题并提出一个具体问题。你根本没有得到任何结果?甚至连错误信息都没有?您在
stdout
上调用
setvbuf
有什么特殊原因吗?作为第一步,我建议注释掉
setvbuf
调用,看看这是否改变了什么。您发布的程序不允许我重现您的问题。它编译得很好,并生成我认为是您链接的文本文件的预期输出。我别无选择,只能投票赞成结束你的问题。作为一个可能与当前问题无关的建议:考虑使用更大的缓冲区。25真的很小,可能有些词不合适。不要关闭输入缓冲。这不会有什么害处,而且会让你的程序运行得更快。为什么我会被否决?我在描述中说我没有得到任何输出。我使用的是eclipse,使用setvbuf是个好主意。你投了反对票,因为没有其他人可以重现你甚至没有描述过的“某个问题”。
} else {
    //printf("Couldn't open the file.");
    perror("open file");                 // prototype in <stdio.h>
}