www.delorie.com/archives/browse.cgi | search |
From: | "Al Morgan" <muaddib AT proaxis DOT com> |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | Re: HOW I CAN CONVERT STRING TO INT |
Date: | Sat, 15 May 1999 22:07:14 -0700 |
Organization: | Posted via RemarQ Communities, Inc. |
Lines: | 27 |
Message-ID: | <926831536.730.86@news.remarQ.com> |
References: | <37367C16 DOT 4136 AT hotmail DOT com DOT br> <7hie07$a6v$1 AT newssrv DOT otenet DOT gr> |
NNTP-Posting-Host: | 198.106.195.132 |
NNTP-Posting-Date: | Sun, 16 May 1999 05:12:16 GMT |
X-Trace: | 926831536.730.86 4VELK9AUPC384C66AC qube-01.us-ca.remarq.com |
X-Complaints-To: | newsabuse AT remarQ DOT com |
X-Priority: | 3 |
X-MSMail-Priority: | Normal |
X-Newsreader: | Microsoft Outlook Express 5.00.2014.211 |
X-MimeOLE: | Produced By Microsoft MimeOLE V5.00.2014.211 |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
Not sure about a function that comes with the C compiler, but I usually just write my own: int string2int(char *s) { int place = 1; // the current place it is reading (i.e. 1's 10's 100's) int r = 0; // the final product (or where it WILL be) for(n = strlen(s); n >=0; --n, place *= 10) // start at the right and count to the left r += (*(s + n) - 48) * place; // 48 is the ASCII value for '0', so to convert from a single char // to it's integer value, you would simply subtract 48 return r; } There you have it (in case you are wondering, all my indents are screwed up beacuse I'm trying to type this in a, what's the word??, non-monospaced font.) Hope this helps, Al Morgan [muaddib AT proaxis DOT com]
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |