psMedlem sedan juni 2000841 inlägg Jag vill konvertera en int till en char[], funktionen "itoa" finns, men det är inte ANSI-C.
Funktionen "sprintf" ska ev också fungera för ändamålet, men jag har inte fått det att fungera på rätt sätt..
Jag har kollat efter källkod till "itoa" i .h filer som följer med när man installerar en kompilator, men där är bara en massa definitioner och liknande..`
Nån som kan hjälpa mig?
Jo, man kan skriva en egen metod med hjälp av modulus och ASCII, men det borde väl finnas en metod som fungerar bra för detta!?
------------------
ps » Email » URL
SweyMedlem sedan apr. 20003 971 inlägg Funtkionen sprintf fungerar utmärkt.
main()
{
char str[5];
sprintf(str, "%d", 10);
printf(str);
}
------------------
- Swey
A hacker from the south
[Redigerat av Swey den 14 sep 2001]
psMedlem sedan juni 2000841 inlägg Tack funkar bra..
Går det att får reda på hur många tecken en int är, så man inte måste sätta char[] till en godtycklig längd?
------------------
ps » Email » URL
UlfTMedlem sedan maj 20018 027 inlägg På de flesta datorer brukar en int vara 32 bitar, åtminstone med 32-bitars OS. Det innebär att en int varierar mellan ca +- 2*10^9. Är den unsigned kan den vara över 4*10^9. Det innebär att en int har totalt max 10 siffror + 1 tecken för "-" om den är negativ + 1 tecken för nulltermineringen, totalt 12 tecken. Definierar du en char[12] ryms alltså en 32-bit int.
psMedlem sedan juni 2000841 inlägg Tack för det UlfT..
------------------
ps » Email » URL
VetgirigMedlem sedan nov. 2000199 inlägg Du kan få problem om du kör i en aktitektur med 64-bitarns datorer. Vet inte hur många säkerhetshål som uppkommit genom att folk optimerat utifrån 'välkända' fakta.
------------------
Anders Lindbäck,Igiro Internet Giro
[Redigerat av Vetgirig den 19 sep 2001]