Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > из char** в const char**


Автор: s_a_s_h_a 1.12.2005, 09:24
Код

const char **textin;
*textin = textbuf->text();


где textbuf->text() возвращает строку char*

Все компилируется, а при выполнении вылетает виндовозовская ошибка. Что надо сделать, чтобы все работало пучком? Где у меня ошибка?

Автор: Romikgy 1.12.2005, 09:48
Какая ошибка?
Мож я и ошибаюсь , но в С нет операции = для типа char *!!!

Автор: xTr1m 1.12.2005, 10:18
У меня тоже конечно есть вопрос к
Цитата
*textin = textbuf->text();

однако, я попробовал сделать так и все работает smile (правда среда : Borland C++ 3.11)
другое дело, что и так тоже будет работать
Код

strcpy(*textin,textbuf->text());

но только если заменить
Цитата
const char **textin;


на char **textin;
И вообче зачем тебе const?

Автор: Dreamer_0x01 2.12.2005, 19:11
Цитата(xTr1m @ 1.12.2005, 10:18)
И вообче зачем тебе const?

действительно?

Автор: s_a_s_h_a 5.12.2005, 18:06
Затем, что в функции iconv библиотеки libiconv вторым параметром является const char**.
Цитата
однако, я попробовал сделать так и все работает  (правда среда : Borland C++ 3.11)
другое дело, что и так тоже будет работать

Везет же. А я компилирую в Dev-C++ и ничего хорошего.

Автор: Dreamer_0x01 5.12.2005, 18:33
в некотрых компиляторах, которые критичны к типу const char*, есть функции типа printf,ctrncpy и подоные, отличающиеся от оригинального названия на одну букву (например, fsprintf,fstrncpy в AVR Studio),как раз позволяющие получить const char * из char *. Поищи, нет ли там такого.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)