2_10_2A.C
上传用户:wyn840322
上传日期:2007-01-13
资源大小:294k
文件大小:2k
源码类别:

数据结构

开发平台:

C/C++

  1. /* ======================================== */
  2. /*    程式实例: 2_10_2a.c                    */
  3. /*    字符串的分割                            */
  4. /* ======================================== */
  5. /* ---------------------------------------- */
  6. /*  分割字符串                                */
  7. /* ---------------------------------------- */
  8. int token(char *str1,char *str2,int pos)
  9. {
  10.    int i,j;
  11.    i = pos;                       /* 从分割位置开始   */
  12.    while ( str1[i] == ' ' )       /* 跳过之前空白字元 */
  13.       i++;
  14.    if ( str1[i] != '' )         /* 是不是字符串结束   */
  15.    {
  16.       j = 0;                      /* 找下一个空白字元 */
  17.       while ( str1[i] != '' && str1[i] != ' ' )
  18.       {
  19.          str2[j] = str1[i];       /* 拷贝非空白字元   */
  20.          i++;
  21.          j++;
  22.       }
  23.       str2[j] = '';             /* 分割字符串结束字元 */
  24.       return i;                   /* 传回目前位置     */
  25.    }
  26.    else
  27.       return -1;                  /* 分割结束         */
  28. }
  29. /* ---------------------------------------- */
  30. /*  主程式                                  */
  31. /* ---------------------------------------- */
  32. void main()
  33. {
  34.    char string[100];              /* 字符串阵列宣告     */
  35.    char token_string[20];         /* 分割字符串宣告     */
  36.    int pos;                       /* 分割位置         */
  37.    printf("请输入字符串 ==> ");
  38.    gets(string);                  /* 读取字符串         */
  39.    pos = 0;                       /* 设定分割位置初值 */
  40.    printf("分割结果:n");
  41.    /* 分割字符串直到字符串结束 */
  42.    while ( (pos = token(string,token_string,pos)) != -1 )
  43.       printf("%sn",token_string);  /* 印出各分割字符串 */
  44. }