【问题标题】:Why am I able to read char[2] but not char[1]?为什么我能读 char[2] 而不能读 char[1]?
【发布时间】:2009-02-09 15:03:20
【问题描述】:

我可以将OCI C++ 代码中的char 读入char[2],但我无法读入char1

有人知道为什么吗?

(oracle数据类型为char(1))

【问题讨论】:

  • 这种问题不会给你一个有用的答案。请详细说明您正在尝试做什么,您是如何做的,以及它是如何失败的。
  • 含糊的问题会产生含糊的答案。请重新编辑您的问题并提供一些源代码、一些数据示例和您的意外结果(例如异常/错误/意外行为)

标签: c++ oracle types char


【解决方案1】:

如果将输入视为字符串,则需要在末尾应用空终止符('\0')。也就是说,如果数据是'a',则字符串表示("a")作为两个字符'a''\0' 存储在内存中。需要'\0' 来告诉通常的字符串处理嫌疑人字符串在哪里结束。

在不了解您正在使用的工具的情况下,我不能肯定地说,但您可以分配给字符变量(而不是字符数组变量)。


简要查看您发布的链接中的文档,我怀疑您应该使用 std::string 作为文本数据的接收类型。

【讨论】:

    【解决方案2】:

    可能您需要在字符串末尾为空字符留出空格?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-18
      • 2018-08-10
      • 1970-01-01
      • 1970-01-01
      • 2010-09-09
      • 1970-01-01
      • 1970-01-01
      • 2013-08-22
      相关资源
      最近更新 更多