【问题标题】:Inputting 2 Hex Numbers and a string in one line of code在一行代码中输入 2 个十六进制数字和一个字符串
【发布时间】:2013-08-13 11:12:58
【问题描述】:

我想输入一行代码,如下所示:

cin >> hex >> n1 >> s >> hex >> n2;

程序需要能够提示用户输入一个十六进制数字,然后是一个表达式,然后是另一个十六进制数字。然后我用一系列字符串比较 将表达式与 adsub 等与两个十六进制数字进行比较。

我可以用像这样的 c 代码来做到这一点

scanf("%x %s %x", &n1, s, &n2);

上面scanf的语句如何在c++中类似的实现?

【问题讨论】:

  • 顺便说一句:scanf("%x %s %x" ...scanf("%x%s%x" ... 功能相同,因为 %s 和 %x 本身都消耗输入空间。

标签: c++ c input hex output


【解决方案1】:

您可以使用流操纵器http://www.cplusplus.com/reference/library/manipulators/ 例如:

std::cin >> std::hex >> n1 >> s >> n2;

【讨论】:

  • 这会使两个十六进制数字由一个字符串分隔还是三个十六进制数字?
  • 它改变了读取数字的模式。在您通过 std::dec 或 std::oct 之前,您检索的任何数字都是十六进制值。
猜你喜欢
  • 2018-04-27
  • 2011-01-12
  • 2022-12-05
  • 1970-01-01
  • 2021-02-06
  • 2011-03-04
  • 2019-07-27
  • 2012-10-29
  • 1970-01-01
相关资源
最近更新 更多