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

Przypisanie liczb ze stringa do stringa

Ostatnio zmodyfikowano 2011-04-23 15:02
Autor Wiadomość
McAffey
» 2011-04-22 19:58:03
int number = "696";
 - zamień mi to na std::string lub char[] poprzez rzutowanie ;p.
Wystarczy "rozłożyć" na czynniki pierwsze (tzn osobno 6, 9 i 6). Ale to w celach edukacyjnych, nie ma potrzeby tego robić ;p
P-31666
Mrowqa
» 2011-04-22 20:14:30
Jak @McAffey pisał wcześniej - polecam itoa(), atoi()
z MSDN
z cplusplus

Naprawdę przydatne - jak czytasz np. liczby z pliku ;) i tworzysz nazwy plików :D ( pisało w "Symfonii C++" jak tworzyć w prosty sposób nazwy plików :D )
P-31674
ison
» 2011-04-22 21:44:11
Dawno, dawno temu powstała taka liczba jak 48.
no właśnie, więc nie wprowadzaj ludzi w błąd mówiąc że wystarczy samo rzutowanie ;)

poza tym nie 48 a '0', 48 nic nie mówi :p pisanie '0' jest trochę bardziej czytelne i zrozumiałe
P-31680
szyx_yankez
» 2011-04-23 10:33:57
mówiąc że wystarczy samo rzutowanie ;)
No samo rzutowanie może nie ale pętla+rzutowanie wystarczy.
48 to kod ASCII '0', więc nie ma różnicy.
P-31699
Mrowqa
» 2011-04-23 12:50:21
Możesz użyć prostego triku:
C/C++
char tab[ 10 ];
for( int i = 0; i < 10; i++ )
     tab[ i ] = '0' + i; // zwiekszanie kodu ASCII - uzyskujemy: '0', '1' itd

Proste, co nie ??
I takiego chara możesz dodawać do nazwy pliku ... zwłaszcza, że:
C/C++
tab[ 0 ] = '0';
tab[ 1 ] = '1';
//itd
Ułatwia nam to ;) nie musisz pamiętać, że 0 oznacza 1, 1 oznacza 2 itd :D
P-31711
szyx_yankez
» 2011-04-23 13:13:53
C/C++
for( int i = 0; i < 10; i++ )
     tab[ i ] = '0' + i;
W tym przypadku zachodzi niejawne rzutowanie '0'(char) na kod ASCII 48(int) następnie  48+i niejawnie rzutowane jest na typ char.
P-31714
Mrowqa
» 2011-04-23 15:02:39
Możesz użyć prostego TRIKU:
Wiem, że jest rzutowanie ;) dlatego nazwałem to TRIKIEM ;) sprytne, co ?? :D ( W "Symfonii C++" chyba coś takiego było ... )
P-31732
1 2 « 3 »
Poprzednia strona Strona 3 z 3