Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > переменной string значение Edit


Автор: Solomon 21.11.2006, 20:20
Пищу знач
string Name=Edit1->Text; 

а он мне... E2285 Could not find a match for 'string::operator=(AnsiString)'  smile 


Автор: BreakPointMAN 21.11.2006, 20:57
А так?
Код

string Name=Edit1->Text.c_str();


Добавлено @ 20:58 
Или так?
Код

string Name(Edit1->Text.c_str());

Автор: RatHat 21.11.2006, 20:59
с большой буквы :

String Name = Edit1->Text;

а если надо именно класс string (с маленькой буквы) то :

Код


#include <stdio.h> // или #include <string.h> 
string Name;
strcpy(Name, Edit1->Text.c_str());


Автор: BreakPointMAN 21.11.2006, 21:23
RatHat, жуть... 

Автор: RatHat 21.11.2006, 21:32
BreakPointMAN,  а я чо?
я ничо))
Или я где-то ошибся?

Автор: HappyLife 21.11.2006, 22:52
RatHat, все ок) Извращенцы тоже люди.

Автор: witex 22.11.2006, 03:28
а зачем ваабще тогда
Код

Edit1->Text.c_str();/// это ведь когда в масив char можно же просто 
String Name;
Name = Edit1->Text;

Помню сам страдал, не мог в char* загнать Edit, пока не нашёл c_str();
=))  хотя странно что с_str(); Обресает последний сивмвол , если не чётное количество символов! 
но только с Edit со String  уже всё путём!

Автор: Vyacheslav 22.11.2006, 10:30
Цитата(witex @  22.11.2006,  03:28 Найти цитируемый пост)
Обресает последний сивмвол , если не чётное количество символов! 
но только с Edit со String  уже всё путём!


А примеры подобного поведения привести можете ?  В коде желательно smile

Автор: Coala 22.11.2006, 11:39
Цитата(witex @  22.11.2006,  04:28 Найти цитируемый пост)
с_str(); Обресает последний сивмвол , если не чётное количество символов! 

 smile 

Автор: sexton 23.11.2006, 11:36
Цитата(witex @  22.11.2006,  03:28 Найти цитируемый пост)
=))  хотя странно что с_str(); Обресает последний сивмвол , если не чётное количество символов! 
но только с Edit со String  уже всё путём!

Единственное что я могу по этому поводу сказать, что AnsiString индекс первого символа 1, а в c_str - 0. Хотя при чем тут это smile

Автор: dumb 23.11.2006, 14:29
по поводу "странностей" c_str() читать справку(F1).

Автор: VitasDeWind 24.11.2006, 08:53
Не буду создавать тему, если можно задам вопрос здесь.

В AnsiString записываются символы, конвертирую  в char....
   
необходимо пройтись по всем символам последовательно и удалить определенные,
 
проблема в том что в строчке присутствуют такие символы как (не знаю как точно обозначаются, вроде так): 

#32 (код пробела), #13 (перевод строки)  ну и другие... вот их и надо отследить... и удалить smile 


Автор: _hunter 24.11.2006, 11:33
эээ... а проблема в чем? это точно такие же символы как и все остальные. и удаляются они точно так же...

Автор: UniBomb 11.12.2006, 14:34
Немного справки:

.c_str() - выдаёт временный указатель на строку!!!! борланд не рекомендует его использовать напрополую, есть другой способ с его использованием, так что RTFM!

Edit1->Text - это и есть строка типа String, точнее указатель на неё....


RTFM - и будет вам счастье...

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