C++ 将输入分离到各种变量中

标签 c++ string parsing tokenize

将控制台输入(或字符串)分成两个 int 变量的优雅方法是什么?

输入格式:a - bx

  • a, b 总是整数。
  • x 可以忽略。

结果:

int1 = a; 
int2 = -b;

感谢任何提示。

最佳答案

假设完全符合规定的形式:

int a, b;
std::string op;
std::cin >> a >> op >> b;
if (op == "-") b = -b;

请注意,这并不可靠。它会将 - 以外的任何内容视为加号,并且绝对会识别以一对由非空白字符分隔的数字开头的任何输入。

关于C++ 将输入分离到各种变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8262414/

相关文章:

c++ - 一次将代码添加到 iOS/objective-C 项目和 c++ 库?

c++ - 模板模板部分特化仅适用于 -std=c++1z 和 g++

php - 作为类名称部分无效的 PHP 关键字列表

regex - 为什么 Scala 的组合器在解析大文件时解析速度很慢?我能做什么?

c++ - LLvm 即时通讯 : How to dereference a runtime pointer from jited code?

c++ - 通过索引访问 vector 迭代器?

c - 复制字符串中的地址时出现奇怪的行为

java - 在Java中比较两个字符串没有给出预期的结果

c# - 在多个大文本文件中搜索多个字符串的最快方法

java - 使用Java进行XML解析: <element name ="doctype">