美文网首页
C++整行读入

C++整行读入

作者: sayhi_yang | 来源:发表于2018-03-16 13:57 被阅读0次

问题

使用cin>>T;之后再使用getline(cin,line);发现程序执行完cin>>T之后就结束了,跳过了getline(cin,line)的执行,单步之后发现line是空值。

原因

cin>>T回车之后,T获取了值,但是'\n'被getline获取了,因为getline是以'\n'来判断一行的结束的,所以读到'\n'马上就结束了,也就没有读取到真正的那行字符串。

解决办法

在getline(cin,line)之前添加一句:cin.ignore();忽略之前的'\n',这样getline就恢复正常了。

char way, s[1050];
cin >>way;
cin.ignore();
cin.getline(s, 1050);//后面的数字是最长输入长度。
//对于char* / char[]  
char s[1001];  
cout<<"Please input char[]:"<<endl;  
cin.getline(s, 1000);//iostream下的函数, 第二个参数表示允许的最大输入长度  
cout<<"Output:"<<endl<<s<<endl<<strlen(s)<<endl;   

//对于string  
string ss;  
cout<<"Please input string:"<<endl;  
getline(cin, ss); //这个getline函数在<string>头文件下  
cout<<"Output:"<<endl<<ss<<endl<<ss.length()<<endl;  

相关文章

  • C/C++/Java无限读入, 可用于OJ系统

    C无限读入 可以用EOF来检查,EOF = -1 C++无限读入 整行 : Java无限读入

  • C++整行读入

    问题 使用cin>>T;之后再使用getline(cin,line);发现程序执行完cin>>T之后就结束了,跳过...

  • 【现学现忘&Shell编程】— 34.AWK编程之awk内置变量

    1、awk内置变量 awk内置变量作用$0代表目前awk所读入的整行数据。我们已知awk是一行一行读入数据的,$0...

  • bash脚本编写

    一,概括: read命令是用于从终端或文件中读取输入的内部命令 读取整行输入 每行末尾的换行符不被读入 二,rea...

  • C++快速读入

    调用方式int n = IO::read ();long long n = IO::read...

  • 2019-07-03 c++的宏

    看hotspot源码时,涉及到c++的宏,简单了解了一下: C/C++语言中,预处理过程读入源代码,检查包含预处理...

  • tensorflow c++ 读入pb文件

    最近因为项目原因,开始接触c++ tensorflow,感觉c++的比python复杂太多了。不过好在不需要使用c...

  • R语言之为堆积图添加连接线

    示例数据提取码:kydo 加载工具包 读入数据 数据按组求均值并调整数据格式 调整行和列的顺序,组与组之间数据不要...

  • 2021-11-23 Installing the Arrow

    安装SCENIC,在读入数据的时候提示缺少package arrow转而安装arrow结果是各种问题C++ lib...

  • C++ 常用语法

    C++文件 例:从文件income. in中读入收入直到文件结束,并将收入和税金输出到文件tax. out。 检查...

网友评论

      本文标题:C++整行读入

      本文链接:https://www.haomeiwen.com/subject/tynlqftx.html