C++中cin和cin.getline函数连用的问题
来源:互联网 发布:originpro8数据平滑 编辑:程序博客网 时间:2024/05/22 14:41
C++中cin和cin.getline函数连用的问题
测试环境:VS2013
语言:C/C++
代码如下:
#include <iostream>int main(){ usingnamespace std; charname[16], school[50]; cout<< "请输入您的姓名:" << endl; cin>> name; cout<< "请输入您的学校:" << endl; cin.getline(school,50); cout<< "你的名字是:" << name << endl; cout<< "你的学校是:" << school << endl; system("pause"); return0;}
问题:
在执行时,为什么会自动跳过school的输入?
还有,为什么我输入name:“Xiao Ming”,就会显示:
你的名字是:Xiao
你的学校是: Ming
原因:
cin>>name;
这句在输入Xiao Ming时遇空格,xiao被输入name,
而Ming留在键盘缓冲区中,被cin.getline(school, 50);捕获。
而如果输入 XiaoMing,中间无空格,则会出现
Name为XiaoMing, 回车被school捕获。
而school为空。
解决:
所以应该改为:
cin.getline(name,16);// >> name; cout << "请输入您的学校:" << endl; cin.get(); //去掉输入name后的回车符cin.getline(school, 50);
0 0
- C++中cin和cin.getline函数连用的问题
- 关于cin,和cin.getline()连用问题
- 解决cin.getline()函数被跳过执行的问题(与cin连用)
- C++中cin,cin.get()和cin.getline()的区别
- C++中cin,cin.get()和cin.getline()的区别
- c++中cin,cin.get()和cin.getline()的比较
- C/C++中cin,cin.getline,getline的用法
- C++:cin、cin.getline()、getline()的用法
- C++:cin\cin.getline()\getline()的用法
- C++中几个输入函数的用法和区别(cin、cin.get()、cin.getline()、getline()、gets()、getchar()))
- cin.get函数和cin.getline函数的区别
- cin、cin.get()、cin.getline()、getline()、gets()等函数的用法(C++)
- cin、cin.get()、cin.getline()、getline()、gets()函数的用法
- cin、cin.get()、cin.getline()、getline()、gets()函数的用法
- cin、cin.get()、cin.getline()、getline()、gets()函数的用法
- cin、cin.get()、cin.getline()、getline()、gets()函数的用法
- cin、cin.get()、cin.getline()、getline()、gets()函数的用法
- cin、cin.get()、cin.getline()、getline()、gets()函数的用法
- 九度oj 1447
- 命令处理、getopt_long函数说明
- C#进程同步之管道通信
- 图的环路问题
- 类的注册与动态生成
- C++中cin和cin.getline函数连用的问题
- Java学习笔记---基本类型、运算优先级的一些知识整理
- Target-Action(View实现button的效果)
- 【HDU1087】【Super Jumping! Jumping! Jumping!】
- 结构体4
- Java 反射机制原理
- Linux 无法开机 显示 an error occurred during the file&nb
- const用法详解
- HDU1.1.2 A+B for Input-Output Practice (II)