c_str() nic nie zwraca
Ostatnio zmodyfikowano 2013-01-11 17:45
czosnek17 Temat założony przez niniejszego użytkownika |
c_str() nic nie zwraca » 2013-01-08 17:49:35 Potrzebuję przekonwertować string na const char*. Użyłem c_str() cout << "X:" << stringX.c_str() << endl;
i nie działa, nic nie wypisuje. Co może być źle? Są inne metody na taką konwersję? Szukałem w Google ale nie znalazłem nic działającego. |
|
abdi |
» 2013-01-08 17:51:42 Wszystko jest dobrze, widocznie string jest pusty. |
|
DejaVu |
» 2013-01-08 17:52:41 Np. to, że nie ma żadnego tekstu w zmiennej? :P |
|
czosnek17 Temat założony przez niniejszego użytkownika |
» 2013-01-08 18:04:35 To teraz prawdziwa programistyczna zagadka: cout << "txt: " << podwr << endl;
gtk_entry_set_text( GTK_ENTRY( sss->entout ), podwr.c_str() ); cout << "X:" << podwr.c_str() << endl;
Co ciekawe, jak przypiszę do zmiennej podwr jakąś inną wartość (po pierwszej linijce), to w następnych już nie jest pusty. Są w programowaniu rzeczy, o których się fizjologom nie śniło. ? Ehh edit: Gdy stworzę nowego stringa string zzz = "asdf";, to działa. Gdy próbuję przypisać do tego stringa wartość podwr, która nie jest pusta (wypisuję ją w konsoli), to przestaje działać. Gdy przypiszę zmiennej podwr nową wartość - działa. Co jest (może być) źle? |
|
DejaVu |
» 2013-01-08 18:42:31 Ja bym raczej obstawiał, że nie wiesz co czynisz :) Przeczytałeś dokumentację? Przeczytałeś co funkcja gtk_entry_set_text z tekstem robi?
/edit: poza tym wypisywanie string-a, a wypisywanie c_str() to nie to samo. |
|
czosnek17 Temat założony przez niniejszego użytkownika |
» 2013-01-08 18:52:04 Przeczytałeś co funkcja gtk_entry_set_text z tekstem robi? |
Nie, a to może być jej wina? Właściwie ten tekst już mi potrzebny nie będzie to niech robi co chce, ważne żeby ustawiła ten tekst w entry. Dałem tą funkcję pod linijkę od wypisywania podwr i dalej to samo. /edit: poza tym wypisywanie string-a, a wypisywanie c_str() to nie to samo.
|
To co tu jest źle? Ja nie wiem :( |
|
DejaVu |
» 2013-01-08 19:05:52 Wejdź w źródła wspomnianej funkcji i sprawdź czy tekst jest kopiowany czy też używany jest wskaźnik na tekst. Poza tym dajesz takie urywki kodu, że Twoje wnioski będą irracjonalne w przypadku gdy funkcja gtk_entry_set_text kopiuje łańcuch tekstowy. |
|
unimator |
» 2013-01-08 19:12:01 Są w programowaniu rzeczy, o których się fizjologom nie śniło. ?
|
Nic do Ciebie nie mam i nie chcę Cię obrazić, ale jeśli nie chcesz się w życiu ośmieszyć to nie używaj słów, których znaczenia nie znasz. Fizjologia – nauka o mechanizmach rządzących przebiegiem czynności życiowych organizmów.
|
Zapoznaj się z tym: http://www.gtk.org/api/2.6/gtk/GtkEntry.html#gtk-entry-set-text |
|
« 1 » 2 3 4 5 |