Я использую библиотеку pdCurses и собираюсь реально использовать только строки в моей консольной игре C ++, но функция curses mvinstr()
или любая функция вставки требует неконстантного char *
в качестве параметра.
- Сначала я решил эту проблему, просто введя
string.c_str()
, но это возвращает const char *
, который, очевидно, не работает с функцией. - Далее я ставлю
(char *)string.c_str()
, но это вызывает только необработанное исключение. - Наконец, я только что попробовал
char *test = string.c_str()
, но это также не совместимо с const
.
Чтомне сделать, чтобы решить эту проблему?
K Я только что попробовал const_cast (), и я все еще получаю исключение и прерывание .... Я не знаю, почему PDcurses принимает только неконстантные указатели на символы .... = (
хорошо, создание буфера char * не работало, когда я использовал этот код (time_s - это жало):
size_t length;
char buffer[12];
length=time_s.copy(buffer,5,0);
buffer[length]='\0';
mvinstr(time_loc_y, time_loc_x, buffer);
я даже поставил остановку перед mvinstr () ипроверил содержимое буфера, которое было «00/0», именно то, что я хотел.
, но я получил точку нарушения доступа к «xutility» ....