Psychik
Guest
Sun Nov 20, 2005 10:36 am
witam.
pisze program w C na at89s8252. sa procedury:
void WriteText(char *S)
{
while (*S)
{
LcdWrite(*S);
S++;
}
}
void main(void)
{
WriteText("hello world!");
}
wszystko jest ok, ale chcialbym w ciagu *S wyslac liczbe, ktora jest
wartoscia jakiejsc zmiennej int. wymyslilem na to sposob, ale jest dosc
dlugi, bo dziele liczbe i zamienia kazda cyfre liczb tysiecy, setek,
dzisiatek, jednostek, itd na kod ascii i tak wysylam. zastanawiam sie,
czy mozna "przepisac" wartosci np. zmiennej int k = 1234567 do uzycia w
miejscu "hello world!" w powyzszej procedurze?
prosze o pomoc i sugestie :)
--
pozdrawiam
Psychik
Fishman
Guest
Sun Nov 20, 2005 11:41 am
Użytkownik "Psychik" napisał w wiadomości
Quote:
wszystko jest ok, ale chcialbym w ciagu *S wyslac liczbe, ktora jest
wartoscia jakiejsc zmiennej int. wymyslilem na to sposob, ale jest dosc
dlugi, bo dziele liczbe i zamienia kazda cyfre liczb tysiecy, setek,
dzisiatek, jednostek, itd na kod ascii i tak wysylam. zastanawiam sie, czy
mozna "przepisac" wartosci np. zmiennej int k = 1234567 do uzycia w
miejscu "hello world!" w powyzszej procedurze?
prosze o pomoc i sugestie
A masz dość miejsca w pamięci programu na implementację funkcji
printf()/sprintf()? No to nie masz się nad czym zastanawiać ;)
Fishman
Piotrek Sz.
Guest
Sun Nov 20, 2005 12:39 pm
Psychik napisał(a):
Quote:
witam.
pisze program w C na at89s8252. sa procedury:
void WriteText(char *S)
{
while (*S)
{
LcdWrite(*S);
S++;
}
}
void main(void)
{
WriteText("hello world!");
}
wszystko jest ok, ale chcialbym w ciagu *S wyslac liczbe, ktora jest
wartoscia jakiejsc zmiennej int. wymyslilem na to sposob, ale jest dosc
Zainteresuj się funkcją itoa()
Quote:
dlugi, bo dziele liczbe i zamienia kazda cyfre liczb tysiecy, setek,
dzisiatek, jednostek, itd na kod ascii i tak wysylam. zastanawiam sie,
czy mozna "przepisac" wartosci np. zmiennej int k = 1234567 do uzycia w
miejscu "hello world!" w powyzszej procedurze?
prosze o pomoc i sugestie :)
A jak chcesz w zmiennej typu "int" czy "unsigned int",upchnąć 1234567 ?
Pozdrawiam
Piotrek
--
Wysłano z serwisu Usenet w portalu Gazeta.pl ->
http://www.gazeta.pl/usenet/
Psychik
Guest
Sun Nov 20, 2005 1:27 pm
Piotrek Sz. napisał(a):
Quote:
Zainteresuj się funkcją itoa()
to jest funkcja ktorej szukam, ALE...
"WARNING 206 IN LINE 148 OF moje2.c " 'itoa': missing function prototype
czy to nie jest czasem funkcja obecna wylacznie w C++ ?
Quote:
A jak chcesz w zmiennej typu "int" czy "unsigned int",upchnąć 1234567 ?
no tak... chodzilo o liczbe wieksza niz 9 (dziesienie) :)
--
Psychik
J.F.
Guest
Sun Nov 20, 2005 1:56 pm
On Sun, 20 Nov 2005 14:27:53 +0100, Psychik wrote:
Quote:
Piotrek Sz. napisał(a):
Zainteresuj się funkcją itoa()
to jest funkcja ktorej szukam, ALE...
"WARNING 206 IN LINE 148 OF moje2.c " 'itoa': missing function prototype
czy to nie jest czasem funkcja obecna wylacznie w C++ ?
Nie, to bardzo stara funkcja.
Ale przeszukaj pliki .h - bo najwyrazniej zapomniales
dolaczyc tego w ktorym jest zaprototypowana.
J.
Psychik
Guest
Sun Nov 20, 2005 2:30 pm
J.F. napisał(a):
Quote:
Nie, to bardzo stara funkcja.
Ale przeszukaj pliki .h - bo najwyrazniej zapomniales
dolaczyc tego w ktorym jest zaprototypowana.
wg.
http://www.mkssoftware.com/docs/man3/itoa.3.asp wize, ze
zainkludowalem to co trzeba. no ale deklaracji itoa ni ma...
--
Psychik
Psychik
Guest
Sun Nov 20, 2005 2:32 pm
Piotrek Sz. napisał(a):
Quote:
Kurde !!! Pomyliłem się
itoa() jest w AVR-GCC , jako funkcja niestandardowa , natomiast w Keil-u i
SDCC takowej nie znalazłem

Przyjdzie Ci skorzystać z (s)pritf() lub napisać
własną.
wlasna juz mam, ale dlugawa i strasznie toporna, wiec szukam czegos
o czym nie wiem :)
--
Psychik
Wojtek Kaniewski
Guest
Sun Nov 20, 2005 2:55 pm
Psychik napisał(a):
Quote:
dlaczego powołujesz się na dokumentację funkcji uniksowych? zwłaszcza,
że wyraźnie piszą, że ta funkcja jest rozszerzeniem API dostępnym w
produktach danej firmy.
itoa() nie jest standardową funkcją C. jedni ją implementują po swojemu,
inni w ogóle. jeśli napisałeś własną, to trzymaj się jej, póki nie
będziesz miał prawdziwych, a nie potencjalnych, problemów z zajętością
pamięci albo wydajnością.
w.
Piotrek Sz.
Guest
Sun Nov 20, 2005 3:07 pm
J.F. napisał(a):
Quote:
On Sun, 20 Nov 2005 14:27:53 +0100, Psychik wrote:
Piotrek Sz. napisał(a):
Zainteresuj się funkcją itoa()
to jest funkcja ktorej szukam, ALE...
"WARNING 206 IN LINE 148 OF moje2.c " 'itoa': missing function prototype
czy to nie jest czasem funkcja obecna wylacznie w C++ ?
Nie, to bardzo stara funkcja.
Ale przeszukaj pliki .h - bo najwyrazniej zapomniales
dolaczyc tego w ktorym jest zaprototypowana.
J.
Kurde !!! Pomyliłem się
itoa() jest w AVR-GCC , jako funkcja niestandardowa , natomiast w Keil-u i
SDCC takowej nie znalazłem

Przyjdzie Ci skorzystać z (s)pritf() lub napisać
własną.
Piotrek
--
Wysłano z serwisu Usenet w portalu Gazeta.pl ->
http://www.gazeta.pl/usenet/
J.F.
Guest
Sun Nov 20, 2005 3:31 pm
On Sun, 20 Nov 2005 15:30:05 +0100, Psychik wrote:
Quote:
J.F. napisał(a):
Nie, to bardzo stara funkcja.
Ale przeszukaj pliki .h - bo najwyrazniej zapomniales
dolaczyc tego w ktorym jest zaprototypowana.
wg.
http://www.mkssoftware.com/docs/man3/itoa.3.asp wize, ze
zainkludowalem to co trzeba. no ale deklaracji itoa ni ma...
Dlatego przeszukaj.
Moze umieliscili w innym pliku, moze faktycznie nie ma.
J.