Почему я могу читать char [2], но не char [1]? - PullRequest
0 голосов
/ 09 февраля 2009

Я могу прочитать char в char [2] в коде OCI C ++ , но я не могу прочитать в char 1 ?

Кто-нибудь знает, почему?

(тип данных oracle - char (1))

Ответы [ 2 ]

1 голос
/ 04 мая 2009

Если входные данные обрабатываются как строка, тогда необходимо место для применения нулевого завершения (a '\0') в конце. То есть, если данные 'a', то строковое представление ("a") сохраняется в памяти в виде двух символов 'a' и '\0'. '\0' необходим, чтобы сообщить обычным подозреваемым при обработке строки, где заканчивается строка.

Не зная ничего об используемых вами инструментах, я не могу сказать наверняка, но вы можете назначить символьную переменную (в отличие от символьной переменной).


Если коротко взглянуть на документы по опубликованной вами ссылке, я подозреваю, что вы должны использовать std::string в качестве типа получения текстовых данных.

0 голосов
/ 09 февраля 2009

Возможно, вам нужен пробел для нулевого символа в конце строки?

...