2
我有一個函數,它要求參數是'unsigned char'類型。C++字符串到字符轉換
如果我使用:
unsigned char x[8] = "a\0ab-cd";
,並通過這個「X」作爲參數傳遞給函數調用,我得到了想要的結果。
但是,我得到輸入作爲RWCStrings,而不是字符型變量。
在我的情況,我有:
RWCString a1 = "a";
RWCString b1 = "ab-cd";
我嘗試這個串聯使用:
RWCString final = a1 + "\0" + b1;
,然後嘗試使用函數調用內部轉換爲 (無符號字符*)final.data ();
但是,這會爲被調用的函數產生不同的結果。
我在這裏做錯了什麼?
'RWCString'不是標準的C或C++數據類型。如果您正在使用某些特殊的圖書館或框架,請在您的問題中添加相關的詳細信息。 –
@ paulsm4,'RWCString's不是普通的C字符串,所以OP的'='和'+'的使用都很好,因爲已經提供了重載操作符。 http://docs.oracle.com/cd/E19422-01/819-3702/CSt_8054.htm#Assignment運算符 – Joseph
嘗試在「final」賦值中間刪除多餘的「+」\ 0「'。該文檔指出,空字符作爲賦值的一部分包含在內。 – Joseph