2_10_2a.c

来自「从网上搜集的一些数据结构源码」· C语言 代码 · 共 49 行

C
49
字号
/* ======================================== */
/*    程式实例: 2_10_2a.c                    */
/*    字符串的分割                            */
/* ======================================== */

/* ---------------------------------------- */
/*  分割字符串                                */
/* ---------------------------------------- */
int token(char *str1,char *str2,int pos)
{
   int i,j;

   i = pos;                       /* 从分割位置开始   */
   while ( str1[i] == ' ' )       /* 跳过之前空白字元 */
      i++;
   if ( str1[i] != '\0' )         /* 是不是字符串结束   */
   {
      j = 0;                      /* 找下一个空白字元 */
      while ( str1[i] != '\0' && str1[i] != ' ' )
      {
         str2[j] = str1[i];       /* 拷贝非空白字元   */
         i++;
         j++;
      }
      str2[j] = '\0';             /* 分割字符串结束字元 */
      return i;                   /* 传回目前位置     */
   }
   else
      return -1;                  /* 分割结束         */
}

/* ---------------------------------------- */
/*  主程式                                  */
/* ---------------------------------------- */
void main()
{
   char string[100];              /* 字符串阵列宣告     */
   char token_string[20];         /* 分割字符串宣告     */
   int pos;                       /* 分割位置         */

   printf("请输入字符串 ==> ");
   gets(string);                  /* 读取字符串         */
   pos = 0;                       /* 设定分割位置初值 */
   printf("分割结果:\n");
   /* 分割字符串直到字符串结束 */
   while ( (pos = token(string,token_string,pos)) != -1 )
      printf("%s\n",token_string);  /* 印出各分割字符串 */
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?