2009-02-09 4 views
0

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

Есть ли у кого-нибудь идеи, почему?

(тип данных оракул символ (1))

+0

Этот вопрос не даст вам полезного ответа. Пожалуйста, уточните, что вы пытаетесь сделать, как вы это делаете и как это происходит. – Rik

+0

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

ответ

0

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

1

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

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


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

Смежные вопросы