多行字输入字符串处理与空格分割一行字符串 C++ 2021-09-01
发布时间
阅读量:
阅读量
1、多行字输入字符串的处理
在处理包含空格的字符串输入时,需要使用getline函数来从流中读取整行内容。
编程题目通常的输入方式为:
1、首先输入字符串的行数,
2、随后逐行读取各个字符串。
问题在于,若按照常规顺序编写代码,会发现第一行读取的字符串为空,只有后续输入才能正常获取每行内容。
原因在于,在输入第一个int类型数据后,换行符未被清除,而该换行符被后续准备读取第一行字符串的getline函数所捕获。
解决方法是在输入int类型数据后,在首次调用getline()函数之前,使用cin.ignore()函数忽略掉流中的一个字符(通常是换行符),从而将其丢弃。
int N;
cin>>N;
cin.ignore(); //取消换行键的读入
string strCinLine[N];
for(int i =0;i<N;i++)
getline(cin,strCinLine[i]);
2、空格分割一行字符串
将文本以空格作为分割标准,逐一分割为多个独立的字符串
全部评论 (0)
还没有任何评论哟~
