C++控制台应用如何单次输入同时获取标识字符串与double数值
不需要将输入拆分存入数组,C++标准输入流cin默认以空白符(空格、换行、制表符等)作为输入分隔符,直接按顺序读取两个变量即可,实现非常简单。
原有代码的核心问题
- 输入语句写法非法:
cin >> xory + length中length未定义,且输入流不能直接读取字符串拼接表达式的结果 - 输出语句写法错误:C++ 中不能直接用
+拼接字符串和数值类型,cout输出需要使用流插入运算符<<拼接多段内容
最简实现代码
#include <iostream> #include <string> using namespace std; string xory; double x; int main() { cout << "Input > "; // 输入的空格会被自动识别为分隔符,直接按顺序读两个变量即可 cin >> xory >> x; if (xory == "A") { xory = "length"; } else if (xory == "B") { xory = "height"; } // 使用<<拼接不同类型的输出内容 cout << "the " << xory << " equals " << x << endl; return 0; }
只要输入符合「标识+空格+数值」的格式,上述代码就可以直接正常运行,不需要额外做字符串拆分处理。
内容的提问来源于stack exchange,提问作者Discord Programs
相关产品推荐
相关产品推荐

