【问题标题】:How to use symbols in a string?如何在字符串中使用符号?
【发布时间】:2015-03-19 20:28:26
【问题描述】:

此行在 Visual C++ 中无法编译

printf("x=%"PRIszu")\n",

即使定义了符号:

#define PRIszu    "Iu"

我收到以下错误:

错误 C3688 无效文字后缀“PRIszu”;文字运算符或 找不到模板“运算符”“PRIszu”

那么如何修复这个打印行以使用定义的符号?

【问题讨论】:

  • 为我工作:ideone.com/2dPVOp
  • @MatthewMoss 我用错误更新了问题
  • 我收到 printf() 不支持 'I' 标志(大写 I)的错误消息

标签: c++ c visual-c++ coding-style


【解决方案1】:

也许……?

printf("x=%" PRIszu "\n", yourVar);

我怀疑您使用的是 C++11 编译器,它允许用户定义文字。在这里查看答案:Using macro with string fails on VC 2015

【讨论】:

  • OP 的括号有问题,但这些额外的空格不是必需的:printf("x=%"PRIszu"\n", yourVar); 也应该可以正常工作。
  • 对于 C++11,有必要区分用户定义的文字。在这里查看答案:stackoverflow.com/questions/31738796/…
猜你喜欢
  • 2011-04-08
  • 1970-01-01
  • 1970-01-01
  • 2018-10-02
  • 1970-01-01
  • 2022-12-11
  • 1970-01-01
  • 2013-05-30
  • 2020-03-13
相关资源
最近更新 更多