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;
}

代码解释

  1. getline(cin, input);:使用 getline 函数获取整个输入行,包括空格。
  2. istringstream iss(input);:创建一个字符串流 iss,并将输入文本 input 传入。
  3. iss >> var1 >> var2 >> var3;:使用 >> 运算符从字符串流 iss 中读取数据,并分别赋值给 var1var2var3

输出结果

假设输入的文本是 'aa -bb -cc',则输出结果为:

var1: aa
var2: -bb
var3: -cc

总结

本例演示了如何使用 getlineistringstream 从控制台输入带空格的文本,并将其分离成多个变量。此方法非常实用,可以用于处理各种包含空格的输入数据。

C++ 控制台输入带空格文本并分离变量

原文地址: http://www.cveoy.top/t/topic/owHb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录