У меня есть функция, которая требует, чтобы параметр имел тип «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 ();
Однако это приводит к другому результату для вызываемой функции.
Что я здесь не так делаю?
При выполнении операции a1 + «\ 0» SourcePro оценивает «\ 0» как строку с длиной = 0, таким образом просто возвращая a1.
Документация для += оператор особо отмечает, что оператор не поддерживает строки со встроенными нулями.
Других решений пока нет …