string中输入回车或者空格

一般来说
C++中的 string a;
cin>>a;
在遇到回车的时候就会停止 ,遇到空格的时候只会保留空格之前的内容
那么 可以尝试以下代码;
下面展示一些 内联代码片

#include<string>
#include<iostream>
using namespace std;
int main() {
	string input;
	string temp;
	while (getline(cin,temp)&&temp!="@")
	//这里我们用@作为结束符 读者可以自行设定
	{
		input.append(temp);
		//或者 input+=temp;
	}
	cout << input << endl;
	cout << input.length() << endl;
	system("pause");
	return 0;
}

string中输入回车或者空格_第1张图片
但是 输出没有换行
所以有了以下代码:
下面展示一些 内联代码片

#include<string>
#include<iostream>
using namespace std;
int main() {
	string input, temp;
	while (getline(cin,temp)&&temp!="@")
	{
		input = input + temp + "\n";
	}
	cout << input << endl;
	cout << input.length() << endl;
	system("pause");
	return 0;
}

string中输入回车或者空格_第2张图片
通过 统计出来的数字 知道 回车也被统计进去了;
现在 输入的问题解决了
怎么把空格处理掉 怎么把回车处理掉
下面展示一些 内联代码片

#include<string>
#include<iostream>
using namespace std;
int main() {
	string input, temp;
	while (getline(cin,temp)&&temp!="@")
	{
		input = input + temp + "\n";
	}
	cout << input << endl;
	cout << input.length() << endl;


	string s_chuliguohou;
	for (char c: input) {
		if (c == '\n') {
			continue;
		}
		if (c == ' ') {
			continue;
		}
		s_chuliguohou += c;
	}
	cout << "\n处理过后的字符串::\n" << s_chuliguohou << endl;
	system("pause");
	return 0;
}

string中输入回车或者空格_第3张图片
此篇文章仅作
代码小白 记录学习收获之用 如有帮助 荣幸之至

你可能感兴趣的:(c++)