webForumDet fria alternativet

int till char[]

5 svar · 476 visningar · startad av ps

psMedlem sedan juni 2000841 inlägg
#1

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
#2

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
#3

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
#4

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
#5

Tack för det UlfT..

------------------
ps » Email » URL

VetgirigMedlem sedan nov. 2000199 inlägg
#6

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]

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)