Итак, у меня есть два типа в данный момент:Const неподписанного символ * на символ *
const unsigned char* unencrypted_data_char;
string unencrypted_data;
Я пытаюсь выполнить простое преобразование данных из одного в другой (строку -> константного символа без знака *)
в результате, у меня есть следующие:
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
BSchlinker, это не проблема. 'unsigned char *' может быть неявно преобразован в 'const unsigned char *'. –
Нет, нет - если функция принимает что-то вроде 'void f (const char *)', это просто говорит, что * it * не будет писать на нее! Это не мешает вам предоставлять ему изменяемый буфер. –