【问题标题】:Input pattern c++ [duplicate]输入模式c ++ [重复]
【发布时间】:2016-02-22 08:26:28
【问题描述】:

假设我得到了输入

{ [1, 1], [2,10] , [-10, 20] }

我必须检索数字并检查输入是否正确(如果“,”没有丢失,或者 { 和 } 是否在开始/结束)

在c中,我可以使用

scanf(" %c%d, %d%c",&zatvorka,&jedna,&dva,&zatvorka_dva);

在 while 循环中扫描输入,但我怎么能在 C++ 中做到这一点?据我所知,to cin 用于检索数据,但它没有像 scanf() 这样的模式,这将使得很难以这种模式检索数据并检查它是否正确。我如何在 C++ 中扫描这样的输入(例如)?

【问题讨论】:

  • 标准 C I/O 库也可以在 C++ 中使用 stackoverflow.com/questions/1042110/…
  • 我不确定我们是否会被允许使用 C I/O 库...scanf 行为是否可能与 cin 一起使用?
  • 在这种情况下,将输入作为字符串并调用stoi提取相关信息
  • cin >> brace1 >> num1 >> comma >> num2 >> brace2 有什么问题?
  • 如果您的最新课程是关于解析的,请参阅:stackoverflow.com/a/35339635/1983409

标签: c++ cin


【解决方案1】:

scanf 函数在 C++ 中也可用。您需要包含 cstdio 头文件才能访问它。

更多信息:

http://www.cplusplus.com/reference/cstdio/scanf/

http://en.cppreference.com/w/cpp/io/c/fscanf

【讨论】:

  • 我会说可以使用例如C++ 中的 snprintf,但不要在同一程序中将 printf/scanf 与 iostreams 混合使用。例如。性能会受到影响。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-12
  • 2022-10-14
  • 1970-01-01
  • 1970-01-01
  • 2011-12-26
  • 1970-01-01
相关资源
最近更新 更多