| delorie.com/archives/browse.cgi | search |
| From: | "bowman" <bowman AT montana DOT com> |
| Newsgroups: | comp.os.msdos.djgpp |
| References: | <39CABE68 DOT D5AA584B AT netzero DOT net> <969595461 DOT 718378 AT shelley DOT paradise DOT net DOT nz> <i35z5.4837$8X6 DOT 4960 AT newsfeed DOT slurp DOT net> <39CCF175 DOT 275438D7 AT netzero DOT net> |
| Subject: | Re: Extract a value from a string? |
| Lines: | 49 |
| 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 |
| Message-ID: | <Zcdz5.7472$8X6.7009@newsfeed.slurp.net> |
| Date: | Sat, 23 Sep 2000 20:05:30 -0600 |
| NNTP-Posting-Host: | 208.26.212.185 |
| X-Trace: | newsfeed.slurp.net 969760697 208.26.212.185 (Sat, 23 Sep 2000 20:58:17 CDT) |
| NNTP-Posting-Date: | Sat, 23 Sep 2000 20:58:17 CDT |
| To: | djgpp AT delorie DOT com |
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
| Reply-To: | djgpp AT delorie DOT com |
Kenneth A. Strom <therelic AT netzero DOT net> wrote in message
news:39CCF175 DOT 275438D7 AT netzero DOT net...
> Would it be better to strstr for = and then extract from the position
> of = + 1 into another string and then atoi? Does atoi handle
> whitespace?
there are several ways to do it. you might want to play with this
quick and dirty little example:
------------- snip -------------
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
int main()
{
char *ini[] = { "Capture = 1234",
"Capture = 0",
"Capture = fubar",
NULL};
char *ptr;
int num;
int i;
for (i=0; ini[i]; i++) {
printf("the string is \"%s\"\n", ini[i]);
if (sscanf(ini[i], "%*s = %d", &num) == 1) {
printf("sscanf num = %d\n", num);
}
else {
printf("sscanf failed\n");
}
ptr = strchr(ini[i], '=');
if (ptr) {
num = atoi(ptr+1);
printf("atoi num = %d\n", num);
}
printf("\n");
}
return 0;
}
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |