为什么我能读取char [2]但不能读取char [1]?

时间:2009-02-09 15:03:21

标签: c++ oracle types char

我能够在OCI C++代码中将char读入char [2],但我无法读取char 1

有谁知道为什么?

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

2 个答案:

答案 0 :(得分:1)

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

在不知道您正在使用的工具的情况下我无法确定,但您可以分配给字符变量(而不是字符数组变量)。


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

答案 1 :(得分:0)

可能你需要在字符串末尾的空字符空间?