Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 为什么我必须读取a\n才能继续读取字符串?_C_File_Scanf - Fatal编程技术网

C 为什么我必须读取a\n才能继续读取字符串?

C 为什么我必须读取a\n才能继续读取字符串?,c,file,scanf,C,File,Scanf,那是我的输入文件。 我正在使用fgets阅读它。 我自己写的,行尾没有空格,因为我一写完就按回车键 问题是,我使用两个连续的FGET来阅读《阿加莎·克里斯蒂与英国》,之后我必须使用 2 1 1 Agatha CHristie UK Ultimul Caz Al lui Hercule Poiroit de pe fisier2 以便阅读下一行 为什么呢?它从里到外都在折磨我,而且似乎完全是随机的 您是否已将FGET的待读取字符数参数设置为正确的大小?显示问题的帖子。您显示输入,但请将代码、预

那是我的输入文件。 我正在使用fgets阅读它。 我自己写的,行尾没有空格,因为我一写完就按回车键

问题是,我使用两个连续的FGET来阅读《阿加莎·克里斯蒂与英国》,之后我必须使用

2
1
1
Agatha CHristie
UK
Ultimul Caz Al lui Hercule Poiroit de pe fisier2 
以便阅读下一行


为什么呢?它从里到外都在折磨我,而且似乎完全是随机的

您是否已将FGET的待读取字符数参数设置为正确的大小?

显示问题的帖子。您显示输入,但请将代码、预期输出和实际输出显示为问题中的文本。因为每一行都以换行符和结尾,您需要将读取索引移过它。相反,它从里到外杀死你的事实似乎完全是随机的。如果您不想这样做,可以使用readline,或者只使用一个fscanf调用来读取单词和换行符。请不要混合使用fgets和fscanf之类的输入方法。每行末尾应该只有一个换行符,因为我是这样创建文件的。fgets函数应该读取每一个新行字符。第一根弦阿加莎·克里斯蒂(Agatha Christie)实际发生的事情,但第二根弦没有发生。为什么?如果无法读取下一行,请使用文本编辑器或文件的十六进制转储视图查看是否有额外的行终止符。或者,使用文本编辑器创建一个示例输入文件,以查看其执行情况。
fscanf(input, "\n", trash);