分割字符串函数strsep和strtok

strsep()

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

int main(void)
{
char   ptr[]={ "abcdefghijklmnopqrstuvwxyz "};
char   *p,*str= "m ";
p=ptr;
printf( "%s\n ",strsep(&p,str));
printf( "%s\n ",p);
str= "s ";
printf( "%s\n ",strsep(&p,str));
printf( "%s\n ",p);

    return 0;
}


运行结果
[root@localhost strsep]# gcc -o strsep strsep.c
[root@localhost strsep]# ./strsep
abcdefghijkl
nopqrstuvwxyz
nopqr
tuvwxyz
[root@localhost strsep]#

strtok
原型:extern char *strtok(char *s, char *delim);     
用法:#include <string.h>  
功能:分解字符串为一组标记串。s为要分解的字符串,delim为分隔符字符串。  
说明:首次调用时,s必须指向要分解的字符串,随后调用要把s设成NULL。
        strtok在s中查找包含在delim中的字符并用NULL('\0')来替换,直到找遍整个字符串。
        返回指向下一个标记串。当没有标记串时则返回空字符NULL。

举例:
      // strtok.c     
      #include <syslib.h>
      #include <string.h>
      #include <stdio.h>

      main()
      {
        char *s="Golden Global View";
        char *d=" ";
        char *p;
       
        clrscr();
       
        p=strtok(s,d);
        while(p)
        {
          printf("%s\n",s);
          strtok(NULL,d);
        }

        getchar();
        return 0;
      }

作者: ricky_pc   发布时间: 2010-12-23