Итак, у меня есть строка, которая содержит "RGGB"
, и мне нужно, чтобы она находилась в массиве char
для выполнения некоторых операций. Затем мне нужно заменить определенные символы на пустое пространство, например первое 'G'
, так что мой массив char
останется "R GB"
.Передача строки в массив символов, а затем изменить массив символов в позиции x в C
Как я могу это сделать? До сих пор я попытался это решение:
int main()
{
string problem="RGGB";
const char *p=problem.c_str();
p[1]=' ';
return p;
}
Я получаю ошибку:
assignment of read only location
*(p + ((sizetype)i))
это очень очевидно, что вы не можете установить что-то в сопзИ вара. вы можете попробовать, char * p = strdup (problem.c_str()); – Adem
Какие операции вам нужно делать на 'string', что вам нужно, чтобы преобразовать его в' char * '? Все, что вы можете сделать с помощью символа 'char *', вы можете использовать с 'string' – NathanOliver
. Я считаю, вы можете попробовать следующее: char * p = & problem [0]; – computador7