上次使用strtok来取硬盘分区信息,感觉这个函数很好用。今天发现有bug,详见:
http://www.cnblogs.com/hoys/archive/2011/09/19/2180999.html
然后发现了strtok_r,写了个学习例子。
代码如下:
1 /* 2 * Author : jevan 3 * Date : 2012.09.04 4 * Filename : strsep.c 5 */ 6 #include <stdlib.h> 7 #include <stdio.h> 8 #include <string.h> 9 10 int main() { 11 char query[] = "test0=0&test1=1&test2=2&end=over"; 12 13 char *outer_ptr,*inner_ptr; 14 char *result,*result2,*cp = query; 15 while((result = strtok_r(cp,"&",&outer_ptr)) != NULL) 16 { 17 printf(" result = %s \n",result); 18 while((result2 = strtok_r(result,"=",&inner_ptr)) != NULL) 19 { 20 printf(" result2 = %s \n",result2); 21 result = NULL; 22 } 23 cp = NULL; 24 } 25 26 return 0; 27 28 }
最后附上一篇关于widows下的多线程分析:http://blog.csdn.net/amaryh/article/details/5470423