ďťż

Ładny brzuch

Taki właśnie komunikat (patrz tytuł topicu) mi wyskakuje, gdy chcę przypisać wartość z jakiegoś komponentu do zmiennej. Chciałem zamienić na 'char*', 'string' i co mi tam jeszcze przyszło do głowy, ale kompilator odmawia współpracy. A przecież to wszystko oznacza łańcuch znaków. Teoretycznie nie powinno być problemu.

A więc - jak zamienić AnsiString (w którym podawane są chyba wszystkie łańcuchy znaków z komponentów BCB i Delphi) na jakiś "normalny" typ? Np. 'string' albo 'char*'?



AnsiString.c_str() <- const char*
Użytkownik Cyrkiel edytował ten post 20 lipiec 2006, 21:32
Ale czekaj - to zamienia AnsiString na 'const char*' czy na odwrót?
Użytkownik NPS edytował ten post 20 lipiec 2006, 21:35

Ale czekaj - to zamienia AnsiString na 'const char*' czy na odwrót? string -> char*
Nie lepiej sprawdzić, albo pokazać kod?
Użytkownik Cyrkiel edytował ten post 20 lipiec 2006, 21:40


if (OpenDialog1->Execute()) klasa1 obiekt1(OpenDialog1->FileName);
Definicja obiektu klasy "klasa1". Używając konstruktora, od razu go inicjuję. FileName jest typu AnsiString, jak go teraz zamienić na char*, bo mi nie wychodzi? :P


if (OpenDialog1->Execute()) klasa1 obiekt1(OpenDialog1->FileName);
Definicja obiektu klasy "klasa1". Używając konstruktora, od razu go inicjuję. FileName jest typu AnsiString, jak go teraz zamienić na char*, bo mi nie wychodzi? :P
Nie mogę :omg: Przecież napisałemOpenDialog1->FileName.c_str()

To teraz w drugą stronę:
'string' chcę przypisać 'AnsiString'


To teraz w drugą stronę:
'string' chcę przypisać 'AnsiString'
AnsiString st; char* b = "costam"; st.printf(b);

Cannot convert 'string' to 'const char *'
Chcę string zamienić na AnsiString, a nie const char *.


Cannot convert 'string' to 'const char *'
Chcę string zamienić na AnsiString, a nie const char *.
No trochę myślenia :/std::string st = "costam"; AnsiString ast; ast.printf(st.c_str());

No racja, dzięki za pomoc.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •