c - “刷新输入缓冲区”是什么意思?
问题描述
int prompt(const char *output_message, char *input, const int MAX_SIZE)
{
printf("%s", output_message);
int i = 0;
char ch = '\0';
while (1)
{
ch = (char)getchar();
if (ch == '\n' || ch == EOF)
{
break;
}
else if (i < (MAX_SIZE - 1))
{
input[i++] = ch;
}
}
input[i] = '\0';
return i;
}
我编写了这个函数来获取用户输入的输入字符串。因此 getchar() 正在遍历缓冲区,直到到达换行符或文件末尾。我的问题是刷新输入缓冲区是否意味着将 FILE 指针(或任何实现)从缓冲区中当前写入的部分移开,就像我对 getchar() 所做的那样?“刷新输入缓冲区”实际上是什么意思?
解决方案
推荐阅读
- c# - 为什么在高度设置为自动的网格单元中使用 ListView SelectionChanged 时行为不正确?
- python - 如何从flask api中检索图像
- javascript - 我可以将嵌套命名空间设计模式转换为 es6 模块模式吗?
- jhipster - 如何从 docker 运行 jhipster-registry?
- linux - 如何编写一个在运行时更新数字+1的shell脚本?
- .net - MVP 中的模型类只是 POCO(贫血域模型、DTO 或 VM)?它们应该是包含业务逻辑的实体对象吗?
- javascript - html 字符串连接 Uncaught SyntaxError: missing )
- vim - 如果原始文件未关闭,则 vim 粘贴在 byobu 中会失败
- python - 如何根据第一列中的人员从两个数据框中添加值?蟒蛇熊猫
- javascript - 如何在 mongoose 的嵌套对象中查询嵌套数组的 id?