标签:
下面函数的作用:
http://blog.csdn.net/hgj125073/article/details/8447605
通过-与: 字符切割字符串,即-与:字符已经被\0 字符取代
char s[] = "ab-cd : ef;gh :i-jkl;mnop;qrs-tu: vwx-y;z"; char *delim = "-: "; char *p; lr_output_message("%s ", strtok(s, delim)); while((p = (char *)strtok(NULL, delim))) lr_output_message("%s ", p); // lr_output_message("\n"); char *strtok(char *s, const char *delim); #include<string.h> 分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。 strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串中包含的所有字符。当strtok()在参数s的字符串中发现参数delim中包涵的分割字符时,则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回指向被分割出片段的指针。 s开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。所有delim中包含的字符都会被滤掉,并将被滤掉的地方设为一处分割的节点。 DEMO:MSDN上的 char string[] = "A string\tof ,,tokens\nand some more tokens"; char seps[] = " ,\t\n"; char *token; int main(void) { printf( "Tokens:\n" ); token = strtok( string, seps ); while(token !=NULL) { printf("%s\n",token); token=strtok(NULL,seps); } getch(); return 0; } int main(void) { char input[16]="abc,d,yuwen"; char *p; p=strtok(input,","); if (p) { printf("%s\n",p); } p=strtok(NULL,","); if (p) { printf("%s\n",p); } getch(); return 0; } char str[] = "now # is the time for all # good men to come to the # aid of their country"; char delims[] = "#"; char *result = NULL; result = (char *)strtok( str, delims ); while( result != NULL ) { lr_output_message( "result is \"%s\"\n", result ); // lr_output_message( "result is:%s", result ); result = (char *)strtok( NULL, delims ); }
标签:
原文地址:http://www.cnblogs.com/qmfsun/p/4925540.html