c++ - 如何在保留空格作为 C++ 中的输入的同时读取带有定界字符的用户输入

标签 c++ string input stream

我一直在处理所需庄园中的用户输入。我需要输入例如“Name100/Some other name”。使用下面的代码,我可以将 '/' 之前的所有内容分配给变量 input1,但是我无法将整个字符串 'Some other name' 放入变量 input2,只能分配第一个单词。感谢您的帮助。

string input;
string input1;
string input2;

cout << "Please enter a Name and Another Name" << endl;     
cin >> input;

stringstream ss(input);
getline(ss, input1, '/');
getline(ss, input2);

cout << input1 << endl;
cout << input2 << endl;

输出:

请输入姓名和别名

姓名 100

一些

最佳答案

代替

cin >> input;

使用

std::getline(std::cin, input);

第一个将在第一个空白字符处停止读取。第二个将读取整行。

关于c++ - 如何在保留空格作为 C++ 中的输入的同时读取带有定界字符的用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28892846/

相关文章:

c++ - 关于字符串操作

针对部分字符串的 PHP 匹配数组

c++ - 在 C 中的硬盘驱动器上不存在文件的情况下写入文件流

css - 输入:焦点不适用于 Firefox

c++ - 使用命名空间的 QT 测试

c++ - ShowWindow 在 64 位操作系统上无法从 DLL 运行?

c++ - 打印一行二维字符数组 (C++)

c++ - 三个类(class)相互联系

c++ - Valgrind: "Invalid read"与 c_str 和 strtod

java - 你如何检测是否没有来自用户的输入(java)