>Пишу следующий код:
> char* equation = "2к=3и"; > char* sep = strchr(equation, '=') — 1; > char* leftSide = equation; > char* rightSide = sep + 2; > sep[1] = '\0';
>после выполнения последней команды выпадает ошибка:
здесь ты пытаешься модифицировать const char, строчка разполагается в read-only сегменте, так что туда писать нельзя
> char* equation = "2к=3и"; > char* sep = strchr(equation, '='); > char* leftSide = equation; > char* rightSide = sep + 1; > sep = '\0';
>после выполнения последней команды sep содержит Bad Ptr,
а тут ты ж присваиваешь 0 самому указателю конечно, 0 — это bad ptr..
надо бы вот так:
*sep = '\0'
но в этом случае ты тоже огребёшь вышеугазанную же ошибку по той же самой причине
Здравствуйте, xptr, Вы писали:
X>Вот такая ситуация: X>нужно разделить уранение на левую и правую часть, разделение осуществляется знаком равенства. X>Пишу следующий код:
X> char* equation = "2к=3и"; X> char* sep = strchr(equation, '='); X> char* leftSide = equation; X> char* rightSide = sep + 1; X> sep = '\0';
X>после выполнения последней команды sep содержит Bad Ptr, X>что не правильно делаю???
sep = 0;
или
sep = NULL;
Только зачем ты это делаешь?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!