C ++字符串到char转换

时间:2013-10-06 21:43:53

标签: c++ c rogue-wave

我有一个函数,要求参数为'unsigned char'类型。

如果我使用:

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

并将此'x'作为参数传递给函数调用,我得到了所需的结果。

但是,我得到输入为RWCStrings,而不是char类型变量。

就我而言,我有:

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

我尝试使用以下方法连接它:

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

然后尝试在函数调用中使用转换为 (unsigned char *)final.data();

但是,这会对被调用函数产生不同的结果。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

当执行a1 +“\ 0”操作时,SourcePro将“\ 0”计算为长度为0的字符串,因此只返回a1。

+= operator的文档特别指出运算符不支持嵌入空值的字符串。