[C++基础]031_如何正确获取用户的输入
2012-10-17 00:21
274 查看
1. 获取输入的第一个程序
上面的程序可以获取用户的输入,但是如果用户输入如下字符串:
输出结果不是我们想要的“abcd cdef”,而是“abcd”。这说明cin认为空格是字符串结束标志。
另外,如果我们的用户输入如下字符串:
由于输入字符串的长度超过了字符数组的长度,发生越界,程序虽然能打印出来输入的字符,但是程序运行发生错误。
2. 解决空格的问题
用gets函数可以解决空格问题,输入“abcd cdef”时,可以打印出来。
但是输入超过字符数组长度的字符串时,仍然会报错。
3. 解决空格和输入字符串长度过长的问题
上面程序就可以获取不超过字符数组长度的字符了。注意cin还有很多可以使用的函数,比如getline等。
#include <iostream> using namespace std; int main(){ char str[15]; cin>>str; cout<<str<<endl; system("pause"); return 0; }
上面的程序可以获取用户的输入,但是如果用户输入如下字符串:
abcd cdef
输出结果不是我们想要的“abcd cdef”,而是“abcd”。这说明cin认为空格是字符串结束标志。
另外,如果我们的用户输入如下字符串:
abcdefghigklmnopklameads
由于输入字符串的长度超过了字符数组的长度,发生越界,程序虽然能打印出来输入的字符,但是程序运行发生错误。
2. 解决空格的问题
#include <iostream> using namespace std; int main(){ char str[15]; gets(str); cout<<str; system("pause"); return 0; }
用gets函数可以解决空格问题,输入“abcd cdef”时,可以打印出来。
但是输入超过字符数组长度的字符串时,仍然会报错。
3. 解决空格和输入字符串长度过长的问题
#include <iostream> using namespace std; int main(){ char str[15]; cin.get(str, 15); cout<<str; system("pause"); return 0; }
上面程序就可以获取不超过字符数组长度的字符了。注意cin还有很多可以使用的函数,比如getline等。
相关文章推荐
- [C++基础]031_如何正确获取用户的输入
- [C++基础]031_如何正确获取用户的输入
- C++ 如何一次性获取用户输入并判断是否为数字?
- C++ 如何一次性获取用户输入并判断是否为数字?
- 从字符中随机获取一个字符,提示用户输入数字,或是大写字母,或是小写字母,如果用户猜的数字正确,提示用户,恭喜你猜对了,否则提示输入大了或者输入小了
- C/C++在控制台下让用户输入正确的字符后,则返回,否则一直提示输入
- C++判断用户输入路径是否正确(判断盘符是否存在以及“\”与"/")
- 如何让用户在点击"提交(submit)"按钮提交数据前保证所有字段正确输入
- sharepoint2010 无代码工作流之如何获取用户输入的审批结果
- Angular4中关于component组件如何获取前端页面用户输入的值
- 如何使用C++递归来删除单链表中某一个由用户输入特定的值
- 黑马程序员之C#编程基础学习笔记:提示用户输入密码,如果密码是“888888”,则提示正确,否则提示错误。
- VC6 C++控制台程序如何判断用户输入的是什么数字[必须小于128]?
- DataGrid动态生成模板列,模板列里面有一个TextBox,如何获取用户在TextBox里面输入的值啊?
- Java入门:基础算法之获取用户输入
- 黑马程序员之C#编程基础学习笔记:提示用户输入密码,如果密码是“888888”,则提示正确,否则要求再输入一次,如果密码是“888888”则提示正确,否则提示错误。
- Shell脚本基础3-获取用户输入
- 黑马程序员之C#编程基础学习笔记:提示用户输入用户名,然后再提示输入密码,如果用户名是"admin"并且密码是“888888”,则提示正确,否则提示错误,如果用户名不是admin还提示用户用户名不存在
- 用vs制作安装程序的时候 如何获取用户输入的序列号,并进行判定
- MyBatis: 获取一个用户的所有blog的基础上讲一下如何获取一篇文章机器作者的信息。