gets_s不能输入的问题
来源:互联网 发布:网络策划培训课程 编辑:程序博客网 时间:2024/05/22 08:08
C语言里的gets()函数功能是从输入缓存中读取多个字符,遇到回车符时,结束输入。
当使用gets()函数之前有过数据输入,并且,操作者输入了回车确认,这个回车符没有被清理,被保存在输入缓存中时,gets()会读到这个字符,结束读字符操作。因此,从用户表面上看,gets()没有起作用,跳过了。
解决办法:
方法一、在gets()前加fflush(stdin); //强行清除缓存中的数据(windows下可行)
方法二、根据程序代码,确定前面是否有输入语句,如果有,则增加一个getchar()命令,然后再调用 gets()命令。
方法三、检查输入结果,如果得到的字符串是空串,则继续读入,如:
char str[100]={0};
do {
gets(str);
} while( !str[0] );
当使用gets()函数之前有过数据输入,并且,操作者输入了回车确认,这个回车符没有被清理,被保存在输入缓存中时,gets()会读到这个字符,结束读字符操作。因此,从用户表面上看,gets()没有起作用,跳过了。
解决办法:
方法一、在gets()前加fflush(stdin); //强行清除缓存中的数据(windows下可行)
方法二、根据程序代码,确定前面是否有输入语句,如果有,则增加一个getchar()命令,然后再调用 gets()命令。
方法三、检查输入结果,如果得到的字符串是空串,则继续读入,如:
char str[100]={0};
do {
gets(str);
} while( !str[0] );
阅读全文
0 0
- gets_s不能输入的问题
- C语言的字符串输入函数gets_s()
- CRT函数相关问题,gets_s和strcpy_s的用法
- gets_s
- vs2008不能输入中文的问题
- 解决JIRA不能输入中文的问题
- SecureCRT终端不能接收输入的问题
- PowerPoint2007不能输入中文的问题
- EditText输入后不能删除的问题
- 解决wine不能输入的问题
- Qt 不能响应Tslib输入的问题
- 解决appium不能输入中文的问题
- emacs中文输入法不能输入的问题
- 用jquery解决IE输入框不能输入的问题
- minicom不能输入问题
- gets()gets_s()puts()函数的使用
- 对于vistual studio 不能输入汉字的问题的解决方法
- 解决Android Studio的Terminal窗口不能输入的问题
- 1005. 最大和
- 曾经被微信打得溃不成军的米聊现在活得还好么
- HRBUST
- 根据自身所在经纬度,查询周围一定范围内的地理位置(经纬度)
- html5-表单
- gets_s不能输入的问题
- Discuz插件安装出现对不起,您安装的不是正版应用,安装程序无法继续执行
- leetcode 137. Single Number II
- ACdream 1077 LCM Challenge (数学题)(LCM)
- iOS搜索框样例
- js中的图片指定切换效果
- 23种设计模式之装饰者模式
- 使用矩阵方式进行文件夹的选择即类似OpenFileDialog
- angular.copy