ďťż

Ładny brzuch

Jak w temacie. Mam funkcja której argumentem może być jedynie "const char" ale ja chcę użyć zmienną typu Int jak mogę ją przekonwertować??



Nie musisz robić rzutowania, choć jesli bardzo chcesz: (const char) int


Nie musisz robić rzutowania, choć jesli bardzo chcesz: (const char) int

Po prostu rzutuje się niejawnie.

int a =0;
char b =0;

b = a; // Niejawne rzutowanie
b = (char)a; // Jawne

pozdro
spax.



użyj funkcji itoa() bo z rzutowania w tą strone to śmieci wychodzą (odwrotnie to uzyskasz kod ascii znaku)
wymaga biblioteki stdlib.h

int i=1256;
char c[13];
itoa(i,c,10); //(liczba,string,baza liczby)

//i teraz c wynosi "1256"
Użytkownik pablo295 edytował ten post 08 grudzień 2005, 17:04

Nie musisz robić rzutowania, choć jesli bardzo chcesz: (const char) int

Nie rozumiem za bardzo waszych postów. Chodzi mi o to że mam funkcje z BGI windowsa która wyświetla tekst jest to funkcja outtexxy(x,y,*cons char). Robię grę i akurat to miało być odpowiedzialne za "odpełnianie" życia mam zmienną zycie typu int i chcę ją wywołać w tej funkcji jak mam ją przekonwertować???

int x = 1234; char b[10]; itoa(x,b,10); outtextxy(1,2,b);


int x = 1234; char b[10]; itoa(x,b,10); outtextxy(1,2,b);


Jaki dołaćzyć plik nagłówkowy do funkcji itoa()? <stdlib> ?

Wszystko spoko jak pisze taj jak podałeś z małym dodatkiem:
{ int liczba = 100; char a[10]; itoa(liczba,a,10); cout << a << endl; liczba -= 20; itoa(liczba,a,10); cout << a << endl; }
Wszystko spoko i wyświetla 80. Ale jeśli przeniose to do funkcji outtextxy() to zamiast 80 wyświetla 800 :huh:

P.S
Czytałem objajaśnienie tej funkcji(itoa()) ale nie rozumiem o co chodzi z tym ostatnim parametrem, jeśli zmieniłem go z 10 na inny to wychodziły w ogóle inne liczby!


Lol, nawet sam nie wiedziałemo o co chodzi z ostatnią zmienną :D To jest system liczbowy - od 2 do 36 :)


Wszystko spoko jak pisze taj jak podałeś z małym dodatkiem:
{ int liczba = 100; char a[10]; itoa(liczba,a,10); cout << a << endl; liczba -= 20; itoa(liczba,a,10); cout << a << endl; }
Wszystko spoko i wyświetla 80. Ale jeśli przeniose to do funkcji outtextxy() to zamiast 80 wyświetla 800 :huh:

P.S
Czytałem objajaśnienie tej funkcji(itoa()) ale nie rozumiem o co chodzi z tym ostatnim parametrem, jeśli zmieniłem go z 10 na inny to wychodziły w ogóle inne liczby!


No tak, pomyśl, jaką masz najpierw liczbę? 100. W tablicy a[]:
100+++++++
Potem, wpisujesz do tablicy 80, ale pozostałości po setce pozostają(a konkretnie to ostatnie zero, czyli a[2])
800+++++++

a. czyścić a przed każdym wywołaniem itoa (w jakikolwiek sposób)
b. umieszczać za skopiowaną z "liczba" do "a" liczbą znak końca łańcucha czyli '\0'
Użytkownik Catz edytował ten post 15 grudzień 2005, 01:28
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •