Przypisanie liczb ze stringa do stringa
Ostatnio zmodyfikowano 2011-04-23 15:02
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 |
|
Mrowqa |
» 2011-04-22 20:14:30 Jak @McAffey pisał wcześniej - polecam itoa(), atoi() z MSDNz cplusplusNaprawdę 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 ) |
|
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 |
|
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. |
|
Mrowqa |
» 2011-04-23 12:50:21 Możesz użyć prostego triku: char tab[ 10 ]; for( int i = 0; i < 10; i++ ) tab[ i ] = '0' + i;
Proste, co nie ?? I takiego chara możesz dodawać do nazwy pliku ... zwłaszcza, że: tab[ 0 ] = '0'; tab[ 1 ] = '1';
Ułatwia nam to ;) nie musisz pamiętać, że 0 oznacza 1, 1 oznacza 2 itd :D |
|
szyx_yankez |
» 2011-04-23 13:13:53 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.
|
|
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 ... ) |
|
1 2 « 3 » |