所以,我有兩種類型的時刻:const的無符號字符*爲char *
const unsigned char* unencrypted_data_char;
string unencrypted_data;
我試圖從一個執行一個簡單的數據轉換到另一個(串 - > const的無符號字符*)
其結果是,我有以下幾點:
strcpy((unencrypted_data_char),(unencrypted_data.c_str()));
不過,我收到的錯誤:
error C2664: 'strcpy' : cannot convert parameter 1 from 'const unsigned char *' to 'char *'
有什麼建議嗎?我認爲使用reinterpret_cast會有所幫助,但似乎沒有什麼區別。
不幸的是,它不是我的選擇,使其不變。 AES加密函數的參數,我傳遞unencrypted_data要求它的形式是「const unsigned char」,因此我的問題。 – BSchlinker 2010-04-05 02:18:56
BSchlinker,這不是問題。 'unsigned char *'可以隱式轉換爲'const unsigned char *'。 – 2010-04-05 02:21:16
不,不 - 如果一個函數需要像'void f(const char *)'這樣的東西,它只是說* it *不會寫入它!它不會阻止你給它一個可變的緩衝區。 – 2010-04-05 02:22:15