So, I have two types at the moment:
const unsigned char* unencrypted_data_char;
string unencrypted_data;
I’m attempting to perform a simple conversion of data from one to the other (string -> const unsigned char*)
As a result, I have the following:
strcpy((unencrypted_data_char),(unencrypted_data.c_str()));
However, I’m receiving the error:
error C2664: 'strcpy' : cannot convert parameter 1 from 'const unsigned char *' to 'char *'
Any advice? I thought using reinterpret_cast would help, but it doesn’t seem to make a difference.
You can’t write to a const char *, because each char pointed to is const.
strcpy writes to the first argument. Hence the error.
Don’t make
unencrypted_data_charconst, if you plan on writing to it (and make sure you’ve allocated enough space for it!)And beware of strcpy’s limitations. Make sure you know how big your buffer needs to be in advance, because strcpy doesn’t stop ’til it gets enough 🙂