分割字符串函数strsep和strtok
时间:2010-12-23 来源:ricky_pc
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;
}