无法将const char转换为char

时间:2015-12-22 19:16:14

标签: c++ string visual-studio char

char messaggiou[100];    
char *name2;
string encoded;

        name2 = (char*)malloc(encoded.length() + 1); 
        strcpy(name2, messaggiou);                                     
        strcpy(encoded.c_str(), name2);           
        const char* hex_str = name2;

我在使用C ++中的vs2015时遇到此代码(简化)的错误。

error C2664: `'char *strcpy(char *,const char *)': cannot convert argument 1 from 'const char *' to 'char *'

P.s在messaggiou中有一个十六进制加密的字符串

1 个答案:

答案 0 :(得分:4)

如果您使用C ++,我会在您的位置执行此操作:

std::string messaggiou;    
std::string name2;
std::string encoded;

name2 = messaggiou;                                     
encoded = name2;          
const char* hex_str = name2.c_str();

如果C ++更容易,为什么会让事情变得复杂: - )

你也可以const加强任何const_cast<char*>(const object),但如果你不需要...... {/ p>