C中的strtok (续)

来源:互联网 发布:安阳青峰网络 编辑:程序博客网 时间:2024/06/08 16:03

//----------------------------------------------------

//AUTHOR: lanyang123456

//DATE: 2014-11-09

//---------------------------------------------------


#include <stdio.h>#include <string.h>int main(){//char sentence[] = "This is a sentence with 7 tokens";char sentence[] = "first,second.three four,five.";printf("The string to be tokenized is:%s\n", sentence);printf("\nThe tokens are:\n");char *tokenPtr = strtok(sentence, " ,.");while(tokenPtr != NULL) {printf("%s\n", tokenPtr);tokenPtr = strtok(NULL," ,.");}printf("After strtok, sentence = %s\n", sentence);return 0;}

$ gcc -o str7 str7.c
$ ./str7
The string to be tokenized is:first,second.three four,five.

The tokens are:
first
second
three
four
five
After strtok, sentence = first



 #include <stdio.h>       #include <stdlib.h>       #include <string.h>       int       main(int argc, char *argv[])       {           char *str1, *str2, *token, *subtoken;           char *saveptr1, *saveptr2;           int j;           if (argc != 4) {               fprintf(stderr, "Usage: %s string delim subdelim\n",                       argv[0]);               exit(EXIT_FAILURE);           }           for (j = 1, str1 = argv[1]; ; j++, str1 = NULL) {               token = strtok_r(str1, argv[2], &saveptr1);               if (token == NULL)                   break;               printf("%d: %s\n", j, token);               for (str2 = token; ; str2 = NULL) {                   subtoken = strtok_r(str2, argv[3], &saveptr2);                   if (subtoken == NULL)                       break;                   printf(" --> %s\n", subtoken);               }           }           exit(EXIT_SUCCESS);       }

           $ ./a.out 'a/bbb///cc;xxx:yyy:' ':;' '/'
           1: a/bbb///cc
                    --> a
                    --> bbb
                    --> cc
           2: xxx
                    --> xxx
           3: yyy
                    --> yyy

参考man page

0 0
原创粉丝点击