🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #10329

Re: integer -> char array in C

#10329
From: Philip Paeps
Date: Sat, 23 Mar 2002 23:34
43 lines
2140 bytes
garo <garo@linux-box.org> wrote:
> Hoe converteer ik een integer naar een char array in C ?

Recht uit K&R:

void itoa(int n, char s[])
{
	int i, sign;

	if ((sign = n) < 0)		/* record sign 		*/
		n = 1;				/* make n positive 	*/

	i = 0;

	do 
	{		
		/* generate digits in reverse order */
		s[i++] = n % 10 + '0';		/* get next digit	*/
	} while ((n /= 10) > 0);		/* delete it 		*/

	if (sign < 0)
		s[i++] = '-';
	
	s[i] = '\0';
	reverse(s);
}

Zoals eerder al werd gepost heeft ANSI C tegenwoordig wel al een itoa()
functie die iets meer uitgebreid en elegant is, maar de versie in K&R is wel
een leuk voorbeeld om iets van te leren.

Komt soms ook handig van pas op sommige implementaties die geen ANSI C
ondersteunen en waar je zelf mag zorgen voor zulke veelgebruikte functies (ik
denk aan 90% van broadcast apperatuur *zucht*).

 - Philip

-- 
Philip Paeps                                                   philip@paeps.cx

  When travelling overseas, the exchange rate improves
  markedly the day after one has purchased foreign
  currency.
Technical Details
Message-ID: <Mh8n8.27775$DE4.3766@afrodite.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!supernews.com!newsswitch.lcs.mit.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed00.sul.t-online.de!t-online.de!skynet.be!skynet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
References: <9E4n8.27357$DE4.3668@afrodite.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: fcea4,c40cde989736c3e5
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2002-03-23 15:34:07 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!supernews.com!newsswitch.lcs.mit.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed00.sul.t-online.de!t-online.de!skynet.be!skynet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
From: Philip Paeps <philip@paeps.cx>
Subject: Re: integer -> char array in C
Newsgroups: be.comp.programming
References: <9E4n8.27357$DE4.3668@afrodite.telenet-ops.be>
User-Agent: tin/1.5.12-20020311 ("Toxicity") (UNIX) (FreeBSD/4.5-STABLE (i386))
Lines: 43
Message-ID: <Mh8n8.27775$DE4.3766@afrodite.telenet-ops.be>
Date: Sat, 23 Mar 2002 23:34:04 GMT
NNTP-Posting-Host: 213.118.135.125
X-Complaints-To: abuse@telenet.be
X-Trace: afrodite.telenet-ops.be 1016926444 213.118.135.125 (Sun, 24 Mar 2002 00:34:04 MET)
NNTP-Posting-Date: Sun, 24 Mar 2002 00:34:04 MET
Organization: Telenet Internet