Konwersja string do int
Ostatnio zmodyfikowano 2013-09-26 18:14
wiktor16s Temat założony przez niniejszego użytkownika |
Konwersja string do int » 2013-09-25 22:15:44 Witam Mam pętlę w której zawarłem: string url = "00000001"; int liczba; liczba = atoi( url.c_str() - 0 );
cout << liczba << endl;
i reszta kodu. pętla powtarza się co pół sekundy. Mój problem polega na wyświetlaniu. Przykładowo powinno się wyświetlić 00000001 wyświetla mi się 000000010 z jakimś 0 dodanym na końcu. A jeśli url = " "; To zamiast pustej lini mam 0. Jak mam się pozbyć tego 0? |
|
DejaVu |
» 2013-09-25 23:09:58 Może problemem jest pętla, a nie konwersja danych? :) Poza tym czemu od c_str() chcesz odjąć 0? |
|
wiktor16s Temat założony przez niniejszego użytkownika |
» 2013-09-26 07:28:51 |
|
Wiesiek |
» 2013-09-26 08:37:35 Nie wiem czemu ma Ci wyświetlać "00000001", skoro na cout wysyłasz int. Powinno raczej wyjść "1", chyba, że cout ma ustawione specjalne formatowanie (romiar i wypełnianie zerami pustych miejsc). Odejmowanie zera (url.c_str()-0) jest niegroźne, choć niepotrzebne - wskaźnik do tablicy znakowej url.c_str() przesuwasz w lewo o 0. Jeśli zrobisz przesunięcie w prawo o 6, to będziesz miał "01" - można sprawdzić na napisie "123456789", wtedy przesunięcie o +6 da wynik "789". Jeśli u Ciebie nie ma url.c_str()-'0' (przesunięcie w lewo o 48), to na pierwszy rzut oka nie widać problemu. Objawy sugerują przesuwanie adresu do konwertowanego napisu. Po konwersji " " na int wyświetlanie znaku 0 nie jest dziwne - nie ma liczby typu int " ". |
|
DejaVu |
» 2013-09-26 09:37:31 Podaj rzeczywisty kod, a nie wydumany, w którym twierdzisz, że coś jest źle.
Tu też masz przykład: atoi |
|
wiktor16s Temat założony przez niniejszego użytkownika |
» 2013-09-26 15:00:21 Tutaj kod pętli while( true ) { CURL * curl; curl = curl_easy_init(); curl_easy_setopt( curl, CURLOPT_URL, "http://www.kamsac.pl/php-testy/dziwig/read.php" ); string url; int liczba; liczba = atoi( url.c_str() + 0 ); curl_easy_getinfo( curl, CURLINFO_RESPONSE_CODE, url.c_str() ); curl_easy_perform( curl ); curl_easy_cleanup( curl ); cout << liczba << endl; OutPort( 0x378, liczba ); if( url == "1" ) { cout << "Kam is good" << endl; } if( url == "0" ) { cout << "Vic is good" << endl; } Sleep( bufor ); } Jakiś pomysł? Coś robię źle? |
|
akwes |
» 2013-09-26 16:21:03 int liczba; liczba = atoi( url.c_str() + 0 );
Chcesz zapisać adres url składający się z literek do inta? Który ma wartość Jaką? |
|
wiktor16s Temat założony przez niniejszego użytkownika |
» 2013-09-26 16:28:29 W stringu mam zapisaną wartość ze strony php url przyjmuje wartości: 00000000 do 01111111 są to same liczby |
|
« 1 » 2 3 |