Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> тип Ansistring, помогите разобраться!?.. 
:(
    Опции темы
Гость_Porsche
  Дата 3.3.2005, 17:48 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











в С++ Нужно сохранить строку из Edit->Text в переменную...
какой тип должен быть у переменной?? при указании типа переменной - char, компилятор выдает ошибку....(что-то про ansistring)..
  Вверх
srd
Дата 3.3.2005, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

Репутация: 27
Всего: 49



Дык сделай переменную типа AnsiString. Слушай компилятор, он умный smile


--------------------
Не смей читать мою подпись!!!
PM MAIL Jabber   Вверх
Дрон
Дата 3.3.2005, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 10
Всего: 93



Такой и должен быть тип:
AnsiString

Если же надо в указатель на char, то пиши так:
Код
char *mystr = strdup(Edit->Text.c_str());

и не забудь потом освободить память smile


--------------------
Да. Именно так.
PM   Вверх
Гость_Porsche
Дата 3.3.2005, 17:59 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











тогда, какой длины строку можно сохранить в AnsiString'e...?
  Вверх
Дрон
Дата 3.3.2005, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 10
Всего: 93



Порядка 2^31 символов, т.е. до объёмом до 2Гб.

ЗЫ: Так сложно заглянуть в help? smile


--------------------
Да. Именно так.
PM   Вверх
Adil'
Дата 4.3.2005, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 26.8.2004
Где: Питер

Репутация: 6
Всего: 15



Цитата
Если же надо в указатель на char, то пиши так:
Лучше не надо - использовать в С++ malloc и free - дурной тон.



--------------------
Удачи
PM MAIL WWW   Вверх
Дрон
Дата 4.3.2005, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 10
Всего: 93



Adil'
Цитата
Лучше не надо - использовать в С++ malloc и free - дурной тон.

Ну да, ну да... И вообще про CRT нужно забыть...
Только мне пофиг. Мне нужна эффективность и быстрота написания программы. И если есть CRT, то я им буду пользоваться ровно столько, сколько мне нужно.


--------------------
Да. Именно так.
PM   Вверх
Vyacheslav
Дата 4.3.2005, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2124
Регистрация: 25.3.2002
Где: Москва

Репутация: 9
Всего: 59



Цитата
Такой и должен быть тип:
AnsiString

Если же надо в указатель на char, то пиши так:
Код
char *mystr = strdup(Edit->Text.c_str());

и не забудь потом освободить память smile

А почему просто нельзя ? smile
Код

char *mystr = Edit->Text.c_str();




--------------------
С уважением, Вячеслав Ермолаев
PM MAIL WWW ICQ   Вверх
Дрон
Дата 4.3.2005, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 10
Всего: 93



Код

char *mystr = Edit->Text.c_str();


Цитата
Usually, the value returned by c_str points to the internal character array referenced by the data property. This pointer is valid until the string is next modified (for example when the SetLength method is called or the AnsiString goes out of scope). However, if the internal array is NULL, c_str returns a pointer to a string literal.


Вот. Т.е. чтобы гарантировать валидность указателя. И иметь возможность делать со строкой всё, что захочу.


--------------------
Да. Именно так.
PM   Вверх
Гость_Porsche
Дата 4.3.2005, 19:10 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Всё получилось.... Но есть ещё, вопросы: =)))))
теперь надо несколько таблиц типа TStringGrid, с текстовыми полями сохранять в файл, чтоб при использование программы можно было открывать этот файл (выводить сохранённые таблицы в StringGrid'e) редактировать и сохранять....
как можно это реализовать, а то я с обработкой файлов вообще не сталкивался..!
  Вверх
Дрон
Дата 4.3.2005, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 10
Всего: 93



Гость_Porsche
Цитата
Но есть ещё, вопросы: =)))))

Создай лучше отдельную тему про работу с файлами.
Таковы правила: одна тема -- один вопрос smile

Это сообщение отредактировал(а) Дрон - 4.3.2005, 22:18


--------------------
Да. Именно так.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0889 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.