C ++ преобразование строки в символ

У меня есть функция, которая требует, чтобы параметр имел тип «unsigned char».

Если я использую:

unsigned char x[8] = "a\0ab-cd";

и передать этот «х» в качестве параметра для вызова функции, я получаю желаемый результат.

Тем не менее, я получаю входные данные как RWCStrings, а не переменную типа char.

В моем случае у меня есть:

RWCString a1 = "a";
RWCString b1 = "ab-cd";

Я пытаюсь объединить это с помощью:

RWCString final = a1 + "\0" + b1;

а затем попробуйте использовать преобразование внутри вызова функции как
(без знака char *) final.data ();

Однако это приводит к другому результату для вызываемой функции.

Что я здесь не так делаю?

2

Решение

При выполнении операции a1 + «\ 0» SourcePro оценивает «\ 0» как строку с длиной = 0, таким образом просто возвращая a1.

Документация для += оператор особо отмечает, что оператор не поддерживает строки со встроенными нулями.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]