【问题标题】:Scanning from specific variable using cin使用 cin 从特定变量扫描
【发布时间】:2021-12-10 10:04:30
【问题描述】:

下面写的scanf() 代码的cin 等价物是什么?我只知道cin >> a[i] >> b[i]

scanf_s("x=%d(mod %d)\n", &a[i], &b[i]);

【问题讨论】:

  • 考虑到复杂的格式字符串,您实际上可能需要一个更复杂和通用的解析器。您需要解决的实际问题是什么?为什么需要这么复杂的格式化字符串?你还能得到什么其他可能的输入?
  • @1201ProgramAlarm 当然不行。所示的scanf 调用将接受x=123(mod 456) 的输入并提取123456,跳过其余部分。 cin >> a[i] 会被第一个字符 x 呛住。
  • @IgorTandetnik 所以除了 scanf 没有其他类似的输入方式吗?

标签: c++ visual-c++


【解决方案1】:

std::cin 等效项是使用std::getline() 将整个用户输入从std::cin 原样读取到std::string,然后根据需要解析字符串,例如使用string::find() 和@ 987654326@或std::regex

【讨论】:

    猜你喜欢
    • 2015-04-02
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多