最大大小(int num)
maximum size (int num)
在我的程序中,我调用函数fgets:
char * fgets ( char * str, int num, FILE * stream );
循环几次,然后处理新的输入(如果有)。
在fgets规范中,它说:
数量:要读取的最大字符数(包括最终字符空字符)。通常,长度作为str传递的数组的。
问题是,如果在同一行中,我想重新输入不超过指定的数字,并忽略其余部分。
我发现,fgets在对函数的下一次调用中读取行的下一部分。
我该如何避免这种行为?
您需要手动执行此操作-使用fgets
使用字符,并将结果复制到结果数组中,直到找到换行符,转储内容,然后继续使用fgets
。
size参数用于防止读取超出缓冲区容量的数据。它不适用于跳过数据。
您必须编写代码,以便在读取字符串后丢弃不需要的部分。
fgets()是一个旧的C函数。其理念是,该语言将提供最低复杂度的函数,您可以将这些函数组合起来做您喜欢的事情。它们不包括任何故意的额外功能。这使每个人都无法为自己不用的东西付费。想想乐高吧。
相关文章:
- 为什么在全局范围内使用"extern int a"似乎不行?
- int(c) 和 c-'0' 之间的区别。C++
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 为什么野牛仍在使用"int yylex(void)",却找不到"int yylex(YYS
- 有符号的int和int-有没有一种方法可以在C++中区分它们
- 请解释这句话(cout<<1+int((a<b)^((b-a)&1) )<<endl
- 是否可以从int转换为enum类类型
- 不能在初始值设定项列表中将非常量表达式从类型 'int' 缩小到'unsigned long long'
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- 'short int'持有的值溢出,但"自动"不会溢出?
- 如何在C++中将一个无符号的 int 转换为两个无符号的短裤?
- 调用'begin(int [n])'没有匹配函数
- 没有显式声明的int[]中的foreach
- 在c++中访问int到类对象的映射时出错
- 为什么我无法更改"set<set>"循环中的值<int>
- 这是在传递 int num 时创建搜索函数的正确方法吗?使用链表库
- char数组中的Num变为int
- 请求在"num"中请求成员"push_back",其非类类型为"int[((unsigned int)((int)n))]"
- 最大大小(int num)
- "int* const* num"是什么意思?