C++ 控制台输入带空格文本并分离变量
C++ 控制台输入带空格文本并分离变量
在 C++ 中,可以使用 cin 来获取控制台输入的文本,但 cin 遇到空格就会停止读取。为了获取包含空格的文本,可以使用 getline 函数。而要从文本中分离出多个变量,则可以使用字符串流 istringstream。
代码示例
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
string input;
getline(cin, input); // 获取控制台输入的文本
string var1, var2, var3;
istringstream iss(input); // 创建字符串流
iss >> var1 >> var2 >> var3; // 分离出每个变量
cout << 'var1: ' << var1 << endl;
cout << 'var2: ' << var2 << endl;
cout << 'var3: ' << var3 << endl;
return 0;
}
代码解释
getline(cin, input);:使用getline函数获取整个输入行,包括空格。istringstream iss(input);:创建一个字符串流iss,并将输入文本input传入。iss >> var1 >> var2 >> var3;:使用>>运算符从字符串流iss中读取数据,并分别赋值给var1、var2和var3。
输出结果
假设输入的文本是 'aa -bb -cc',则输出结果为:
var1: aa
var2: -bb
var3: -cc
总结
本例演示了如何使用 getline 和 istringstream 从控制台输入带空格的文本,并将其分离成多个变量。此方法非常实用,可以用于处理各种包含空格的输入数据。
原文地址: http://www.cveoy.top/t/topic/owHb 著作权归作者所有。请勿转载和采集!