× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Yep, and this is the code I use in the RPG ToolKit:

#include <string.h>
#include <stdio.h>

/*
 * Get next token from string *stringp, where tokens are possibly-empty
 * strings separated by characters from delim.  
 *
 * Writes NULs into the string at *stringp to end tokens.
 * delim need not remain constant from call to call.
 * On return, *stringp points past the last NUL written (if there might
 * be further tokens), or is NULL (if there are definitely no more tokens).
 *
 * If *stringp is NULL, strsep returns NULL.
 */
char* strsep(char** stringp, const char* delim)
{
        char *s = NULL;
        const char *spanp;
        int c=0;
      int sc=0;
        char *tok=NULL;

        if ((s = *stringp) == NULL) {
                return (NULL);
        }
        for (tok = s;;) {
                c = *s++;
                spanp = delim;
                do {
                        if ((sc = *spanp++) == c) {
                                if (c == 0) {
                                        s = NULL;
                                } else {
                                        s[-1] = 0;
                                }
                                *stringp = s;
                                return (tok);
                        }
                } while (sc != 0);
        }
}

Bob Cozzi
Cozzi Consulting
www.rpgiv.com


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Hans Boldt
Sent: Thursday, June 12, 2003 10:12 AM
To: rpg400-l@xxxxxxxxxxxx
Subject: Re: strtok and consecutive delimiters

Bob cozzi wrote:
> "Slight modification" probably means he didn't know how to do it.
> (Jon's in Europe so I no he's not listening live, like he usually does,
<g>)
> The is another function called strsep() that does what you want. It too is
a
> C function. The C compiler/runtime does not come with that function on the
> 400. I ported it to the RPG ToolKit about 4 months ago and sent it to Jon
as
> well. 

FWIW, as far as I can tell, the only differences between strtok() 
and strsep() are that the former can't handle empty strings and the 
latter is not ANSI.

Cheers! Hans


_______________________________________________
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.





As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.