Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

c_str() nic nie zwraca

Ostatnio zmodyfikowano 2013-01-11 17:45
Autor Wiadomość
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()
C/C++
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.
P-73348
abdi
» 2013-01-08 17:51:42
Wszystko jest dobrze, widocznie string jest pusty.
P-73349
DejaVu
» 2013-01-08 17:52:41
Co może być źle?
Np. to, że nie ma żadnego tekstu w zmiennej? :P
P-73350
czosnek17
Temat założony przez niniejszego użytkownika
» 2013-01-08 18:04:35
To teraz prawdziwa programistyczna zagadka:
C/C++
cout << "txt: " << podwr << endl; //string nie jest pusty

gtk_entry_set_text( GTK_ENTRY( sss->entout ), podwr.c_str() ); // tu już jest pusty
cout << "X:" << podwr.c_str() << endl; //tu też
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?
P-73351
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.
P-73353
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 :(
P-73358
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.
P-73364
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
P-73367
« 1 » 2 3 4 5
  Strona 1 z 5 Następna strona