BSc*_*ker 2 c++ string types char
所以,我现在有两种类型:
const unsigned char* unencrypted_data_char;
string unencrypted_data;
Run Code Online (Sandbox Code Playgroud)
我正在尝试执行从一个到另一个的简单数据转换(字符串 - > const unsigned char*)
结果,我有以下几点:
strcpy((unencrypted_data_char),(unencrypted_data.c_str()));
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误:
error C2664: 'strcpy' : cannot convert parameter 1 from 'const unsigned char *' to 'char *'
Run Code Online (Sandbox Code Playgroud)
有什么建议?我认为使用reinterpret_cast会有所帮助,但它似乎没有什么区别.
你不能写一个const char*,因为每个char指向的是const.
strcpy 写入第一个参数.因此错误.
unencrypted_data_char如果你打算写它,不要制作const(并确保你已经为它分配了足够的空间!)
并提防strcpy的局限性.确保你知道你的缓冲区需要提前多大,因为strcpy不会停止,直到它变得足够 :)