weidagang2046的專欄

          物格而后知致
          隨筆 - 8, 文章 - 409, 評(píng)論 - 101, 引用 - 0
          數(shù)據(jù)加載中……

          strtok用法

          char *  strtok ( char * string, const char * delimiters );

          Sequentially truncate string if delimiter is found.
            If string is not NULL, the function scans string for the first occurrence of any character included in delimiters. If it is found, the function overwrites the delimiter in string by a null-character and returns a pointer to the token, i.e. the part of the scanned string previous to the delimiter.
            After a first call to strtok, the function may be called with NULL as string parameter, and it will follow by where the last call to strtok found a delimiter.
            delimiters may vary from a call to another.

          Parameters.

          string
          Null-terminated string to scan.
          separator
          Null-terminated string containing the separators.

          Return Value.
            A pointer to the last token found in string.   NULL is returned when there are no more tokens to be found.

          Portability.
            Defined in ANSI-C.

          Example.

          /* strtok example */
          #include <stdio.h>
          #include <string.h>
          
          int main ()
          {
            char str[] ="This is a sample string,just testing.";
            char * pch;
            printf ("Splitting string \"%s\" in tokens:\n",str);
            pch = strtok (str," ");
            while (pch != NULL)
            {
              printf ("%s\n",pch);
              pch = strtok (NULL, " ,.");
            }
            return 0;
          }
          

          Output:
          Splitting string "This is a sample string,just testing." in tokens:
          This
          is
          a
          sample
          string
          just
          testing


          下面是linux下的strtok manual:
          ---------------------------------------------------------------
          STRTOK(3)     Linux Programmer's Manual       STRTOK(3)

           

          NAME
                 strtok, strtok_r - extract tokens from strings

          SYNOPSIS
                 #include <string.h>

                 char *strtok(char *s, const char *delim);

                 char *strtok_r(char *s, const char *delim, char **ptrptr);

          DESCRIPTION
                 A  `token'  is  a  nonempty  string  of characters not occurring in the
                 string delim, followed by \0 or by a character occurring in delim.

                 The strtok() function can be used to parse the string  s  into  tokens.
                 The  first call to strtok() should have s as its first argument. Subse-
                 quent calls should have the first  argument  set  to  NULL.  Each  call
                 returns a  pointer  to the next token, or NULL when no more tokens are
                 found.

                 If a token ends with a delimiter, this delimiting  character  is  over-
                 written with a \0 and a pointer to the next character is saved for the
                 next call to strtok().  The delimiter string delim may be different for
                 each call.

                 The  strtok_r() function  is a reentrant version of the strtok() func-
                 tion, which instead of using its own static buffer, requires a  pointer
                 to  a user allocated char*. This pointer, the ptrptr parameter, must be
                 the same while parsing the same string.

          BUGS
                 Never use these functions. If you do, note that:

                 These functions modify their first argument.

                 These functions cannot be used on constant strings.

                 The identity of the delimiting character is lost.

                 The strtok() function uses a static  buffer  while  parsing,  so
                 it's not thread safe. Use strtok_r() if this matters to you.

          RETURN VALUE
                 The  strtok()  function returns a pointer to the next token, or NULL if
                 there are no more tokens.

          CONFORMING TO
                 strtok()
                 SVID 3, POSIX, BSD 4.3, ISO 9899

                 strtok_r()
                 POSIX.1c

          SEE ALSO
                 index(3), memchr(3), rindex(3), strchr(3), strpbrk(3), strsep(3),  str-
                 spn(3), strstr(3)

           

          GNU      2000-02-13        STRTOK(3)

          posted on 2005-10-16 22:17 weidagang2046 閱讀(10124) 評(píng)論(0)  編輯  收藏 所屬分類: C/C++

          主站蜘蛛池模板: 奇台县| 阿鲁科尔沁旗| 谢通门县| 嘉祥县| 和田市| 崇阳县| 根河市| 紫金县| 怀安县| 上栗县| 东平县| 同仁县| 五台县| 克山县| 定州市| 利辛县| 满洲里市| 东明县| 余江县| 石狮市| 中宁县| 新津县| 临江市| 哈密市| 开封市| 尚义县| 札达县| 左贡县| 怀远县| 巴塘县| 义乌市| 犍为县| 五常市| 潜江市| 乌鲁木齐市| 麟游县| 阿图什市| 金湖县| 铅山县| 济南市| 宁都县|