Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2789539
  • 博文数量: 471
  • 博客积分: 7081
  • 博客等级: 少将
  • 技术积分: 5369
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-04 21:55
文章分类

全部博文(471)

文章存档

2014年(90)

2013年(69)

2012年(312)

分类: C/C++

2012-08-04 10:51:49

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

 

 


示例-1 
/* strtok example */ 
#include  
#include  

int main () 
{ 
char str[] ="a,b,c,d*e"; 
const char * split = ","; 
char * p; 
p = strtok (str,split); 
while(p!=NULL) { 
printf ("%s\n",p); 
p = strtok(NULL,split); 
} 

getchar(); 
return 0; 

} 
本例中,实现对字符串'a,b,c,d*e"用逗号(,)来作界定符对字符串进行分割。 
输出结果将如下所示: 
a 
b 
c 
d*e 

因为delimiters支持多个分割符, 我们将本示例中的语句行 
const char * split = ","; 
改成 const char * split = ",*"; //用逗号(,)和星号(*)对字符串进行分割 

这样输出结果将如下所示: 
a 
b 
c 
d 
e


 

阅读(443) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~