fgets-最大大小整数

问题描述

在我的程序中,我正在调用fgets函数
char * fgets ( char * str,int num,FILE * stream );  
循环几次,然后处理新输入(如果有的话)。 在fgets规范中,它表示:   号码:       读取的最大字符数(包括最后一个字符)   空字符)。通常,长度   使用作为str传递的数组。 问题是我想保留的数字不超过指定的数字-如果它位于同一行,则忽略其余的数字。 我发现,在下次调用函数时,这些fget读取了该行的下一部分。 我如何避免这种行为?     

解决方法

您将需要手动执行-使用
fgets
使用字符,并将结果复制到结果数组中,直到找到换行符,转储内容,然后继续
fgets
。     ,size参数用于防止读取的数据超出缓冲区的容量。跳过数据将不起作用。 您必须编写代码才能在读取字符串后丢弃不需要的部分。 fgets()是旧的C函数。想法是该语言将提供最少的复杂性功能,您可以将其组合以完成自己喜欢的事情。它们不包含任何故意的额外功能。这使每个人都不必为自己不使用的东西付费。想想乐高。