C++第一坑:当cin读取整数时,将回车键生成的换行符留在了输入队列中
2013-10-30 20:46
399 查看
/********************************************************************/
*标题:当cin读取整数时,将回车键生成的换行符留在了输入队列中
*类型:技术文档
*作者:∮☆大运☆∮
*时间:2013/10/30
********************************************************************/
C++第一坑:
当cin读取整数时,将回车键生成的换行符留在了输入队列中
问题:
在做第164页课后编程题5.9.7时,发生了一些奇怪的事情,需要输入字符,数字再输字符,数字。结果后面的无法输入,直接跳过,程序终止。
翻书查找,翻了老半天,总算在81页4.2.5混合输入字符串和数字找到了答案。
程序清单4.6中和我的情况一样!
问题在于:当cin读取年份时,将回车键生成的换行符留在了输入队列中,后面的cin.getline()看到了换行符后,将认为是一个空行,并将一个空字符串赋给address数组【或getline(cin,str)将一个空字符赋给string类的str】
补救办法:
方法一:
Cin >> year;
Cin.get();//或Cin.get(char);
方法二:
(cin >> year).get();//或(cin >> year).get(ch);
*标题:当cin读取整数时,将回车键生成的换行符留在了输入队列中
*类型:技术文档
*作者:∮☆大运☆∮
*时间:2013/10/30
********************************************************************/
C++第一坑:
当cin读取整数时,将回车键生成的换行符留在了输入队列中
问题:
在做第164页课后编程题5.9.7时,发生了一些奇怪的事情,需要输入字符,数字再输字符,数字。结果后面的无法输入,直接跳过,程序终止。
翻书查找,翻了老半天,总算在81页4.2.5混合输入字符串和数字找到了答案。
程序清单4.6中和我的情况一样!
问题在于:当cin读取年份时,将回车键生成的换行符留在了输入队列中,后面的cin.getline()看到了换行符后,将认为是一个空行,并将一个空字符串赋给address数组【或getline(cin,str)将一个空字符赋给string类的str】
补救办法:
方法一:
Cin >> year;
Cin.get();//或Cin.get(char);
方法二:
(cin >> year).get();//或(cin >> year).get(ch);
相关文章推荐
- c++ cin读取字符串数组实现回车结束输入
- scanf/cin输入若干整数以回车结束,并存储,用C/C++实现
- C++读取键盘输入(cin/cin.getline()/cin.get()/cin.clear())
- C++读取以空格作为数据区分标记,以回车为行标记的txt文件到一个整数数组(字符串妙用)
- C++ 读取键盘输入(cin/cin.getline()/cin.get()/cin.clear())
- C++读取到回车换行符问题处理
- C++ 读取键盘输入(cin/cin.getline()/cin.get()/cin.clear())
- [C++]cin读取回车键
- C++ 读取键盘输入(cin/cin.getline()/cin.get()/cin.clear())
- C++ 读取键盘输入(cin/cin.getline()/cin.get()/cin.clear())
- c++ cin一个整数 输入其它字符产生死循环错误的解决方法。
- C++ 读取键盘输入(cin/cin.getline()/cin.get()/cin.clear())
- C++ 读取键盘输入(cin/cin.getline()/cin.get()/cin.clear())
- C++中cin内容读到string变量要输入两次回车的问题
- 在C++中使用conio.h 实现实时键盘输入读取 (即不需要回车)
- Cin输入流不定数目输入整数结束问题
- 【C++】从标准输入中读取字符串
- 读出istream对象cin中的回车换行符
- C++最快的读取文件的方案(scanf,cin(及取消sync),fread)的详细对比
- 读取从键盘输入的多位整数