解决cin.getline()函数被跳过执行的问题(与cin连用)
2017-03-14 21:56
399 查看
今天编程序时遇到了如下问题:
当输入a之后便直接调用函数,似乎跳过了cin.getline语句,百思不得其解,后来在cin.getline语句前加了getchar(),便解决了该问题,其实在输入a值时按了回车键,cin.getline似乎读入了回车,于是回车被当作参数传递给了函数,将getchar()加到其前便可解决问题。
int main() { cout<<"1 Write a record"<<endl; cout<<"2 Read a record"<<endl; cout<<"3 Exit"<<endl; int a; char filename[MAX_PATH+1]; //cout<<"input filename :"; //cin.getline(filename,MAX_PATH); while(true) { cin>>a; switch(a) { case 1: cout<<"input filename :"; cin.getline(filename,MAX_PATH); writefile(filename); break; case 2: cout<<"input filename :"; cin.getline(filename,MAX_PATH); readfile(filename); break; case 3: return 0; } } return 0; }
当输入a之后便直接调用函数,似乎跳过了cin.getline语句,百思不得其解,后来在cin.getline语句前加了getchar(),便解决了该问题,其实在输入a值时按了回车键,cin.getline似乎读入了回车,于是回车被当作参数传递给了函数,将getchar()加到其前便可解决问题。
相关文章推荐
- C++中cin和cin.getline函数连用的问题
- 关于cin,和cin.getline()连用问题
- C/C++中,写在while循环体的cin.getline()语句执行一次问题
- 解决cin.getline()未经输入就结束的问题
- 程序中和有js函数的网页交互,线程中调用 get_Script 就会错误的解决方法,由于COM的线程安全问题
- 关于php页面最大执行时间问题(set_time_limit函数在windows下不起作用的解决)
- (转)cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
- cin、cin.get()、cin.getline()、getline()、gets()等函数的用法 ...
- 关于cin.getline函数与getline函数
- 解决定时执行代码可能跳过的问题
- cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
- cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
- 正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。问题的解决方法!
- cin<<, cin.get,cin.getline等函数深入分析
- cin、cin.get()、cin.getline()、getline()、gets()等函数的用法 收藏
- cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
- cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
- 在sqlserver2000中执行函数出错问题解决
- cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
- cin、cin.get()、cin.getline()、getline()、gets()等函数的用法