【问题标题】:char const too long in "C"“C”中的 char const 太长
【发布时间】:2015-03-19 14:58:25
【问题描述】:

我在 if 语句中收到 char const too long 错误。我在 Google 中搜索了这个错误,他们建议将单引号('')更改为双引号(“”),即 charRead !=“/0”。

编译代码后,我得到一个不同的错误 "operands of "!=" not same type"

如何解决?

if( (charRead != '/0') && (isalnum(charRead) || isspace(charRead) || ispunct(charRead)) ) ...

【问题讨论】:

  • 请修正您的格式并发布您收到的确切错误消息。
  • 您确定不想使用'\0'?第二个错误可能是字符与字符串比较的结果。
  • 您可以在 http:\\en.wikipedia.org\wiki\Null_character 找到答案。

标签: c++ c char embedded


【解决方案1】:

/0 是两个字符。这就是为什么您会收到错误消息,即它太大而无法存储在 char 中。 \0 是一个字节值为 0 的字符。这个字符可以存储在一个字符中。

【讨论】:

    【解决方案2】:

    '/0' 不是有效的字符文字。如果你的意思是它是一个零字节,你可以用反斜杠转义它,就像这样:'\0'

    【讨论】:

    • 根据标准有效:“包含多个 c-char 的普通字符文字是多字符文字。多字符文字具有 int 类型和实现定义的值。”
    猜你喜欢
    • 2020-08-01
    • 2020-01-09
    • 1970-01-01
    • 1970-01-01
    • 2019-02-12
    • 2012-04-19
    • 1970-01-01
    • 1970-01-01
    • 2017-11-25
    相关资源
    最近更新 更多