Невозможно сделать это в основном c C
На основании одного вашего вопроса, без кода примера, ответ - нет. Вы можете назначить char*
на const char*
. Рассмотрим пример:
#include <stdio.h>
int main()
{
char * str;
str = "abcdefg";
const char * cstr = str;
puts(cstr);
return 0;
}
Это совершенно законно. Если вас беспокоит жалоба компилятора, вы можете сделать следующее:
const char * cstr = (const char*)str
Это явно преобразует тип char*
в тип const char*
. Если вы хотите передать его в функцию void f(const char* s)
, вы должны сделать следующее:
f((const char*)str);
Надеюсь, это поможет.