Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #111466
| From | "Pascal J. Bourguignon" <pjb@informatimago.com> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: Parsing based on 1st and 2nd spaces in a string |
| Date | 2017-06-04 15:53 +0200 |
| Organization | Informatimago |
| Message-ID | <m2tw3vamfr.fsf@despina.home> (permalink) |
| References | <oh0ro2$12p$1@dont-email.me> |
DFS <nospam@dfs.com> writes:
> I have text input in only two formats:
>
> Value line goes like this...
> # Value line goes like this...
>
> Value is of varying lengths, but never > 20.
> # is always numeric, and never exceeds 9.
>
> Goal is to capture Value and '# Value'
>
> I'm currently using a combination of strchr() and isdigit(), which
> works fine, but I'm wondering if there's a better way to handle the
> lines that begin with '# Value'.
>
> current code is:
> -----------------------------------------------------------
> if (!isdigit(line[0]))
> { // no leading digit so parse on 1st space
> strncpy(thevalue, line, strchr(line, ' ') - line);
> }
> else
> index=(strchr(line,' ')-line)+1; //get position of 1st space
> for(i=index;i<30;i++) //find and parse on 2nd space
> {
> if(line[i] == ' ')
> { strncpy(thevalue, line, i);
> break;
> }
> }
> -----------------------------------------------------------
>
> Ideas or suggestions?
You have a third case that you didn't specify:
#Value
if(isdigit(line[0]) && isspace(line[1])){
parse_digit_and_value(line);
}else if(isdigit(line[0])){
parse_error(line,"Invalid syntax");
}else{
parse_value(line);
}
--
__Pascal J. Bourguignon
http://www.informatimago.com
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Parsing based on 1st and 2nd spaces in a string DFS <nospam@dfs.com> - 2017-06-04 07:48 -0400
Re: Parsing based on 1st and 2nd spaces in a string "Pascal J. Bourguignon" <pjb@informatimago.com> - 2017-06-04 15:53 +0200
Re: Parsing based on 1st and 2nd spaces in a string DFS <nospam@dfs.com> - 2017-06-04 10:29 -0400
Re: Parsing based on 1st and 2nd spaces in a string "Pascal J. Bourguignon" <pjb@informatimago.com> - 2017-06-04 21:52 +0200
Re: Parsing based on 1st and 2nd spaces in a string DFS <nospam@dfs.com> - 2017-06-04 16:43 -0400
Re: Parsing based on 1st and 2nd spaces in a string Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-06-04 22:39 +0100
Re: Parsing based on 1st and 2nd spaces in a string Keith Thompson <kst-u@mib.org> - 2017-06-04 19:40 -0700
Re: Parsing based on 1st and 2nd spaces in a string DFS <nospam@dfs.com> - 2017-06-05 00:08 -0400
Re: Parsing based on 1st and 2nd spaces in a string raltbos@xs4all.nl (Richard Bos) - 2017-06-05 08:52 +0000
Re: Parsing based on 1st and 2nd spaces in a string Robert Wessel <robertwessel2@yahoo.com> - 2017-06-05 23:51 -0500
Re: Parsing based on 1st and 2nd spaces in a string Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-06-05 12:37 +0100
Re: Parsing based on 1st and 2nd spaces in a string "James R. Kuyper" <jameskuyper@verizon.net> - 2017-06-05 12:53 -0400
Re: Parsing based on 1st and 2nd spaces in a string Barry Schwarz <schwarzb@dqel.com> - 2017-06-04 11:24 -0700
Re: Parsing based on 1st and 2nd spaces in a string DFS <nospam@dfs.com> - 2017-06-04 16:43 -0400
csiph-web