我有一个函数,要求参数为'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();
但是,这会对被调用函数产生不同的结果。
我在这里做错了什么?
答案 0 :(得分:2)
当执行a1 +“\ 0”操作时,SourcePro将“\ 0”计算为长度为0的字符串,因此只返回a1。
+= operator的文档特别指出运算符不支持嵌入空值的字符串。