码迷,mamicode.com
首页 > 编程语言 > 详细

c语言通过空格分割字符串,并生成多个字符串数组

时间:2017-03-14 19:30:48      阅读:822      评论:0      收藏:0      [点我收藏+]

标签:for   技术   二维   trim   字符   while   数组   logs   切割   

本科学的一点点C语言早就忘光了,偏偏做计算机系统的作业还得用C写,深感C语言的内存分配还有字符串处理太麻烦。
作业需要将程序运行后接收到的字符串(命令)切割成多个字符数组(指令及参数),在网上搜不到,自己写了个(实在不知道c语言本身是否带这个函数,找不到)。
因为太弱,不知道该怎么自动分配内存,于是自己设置:指令最多10条,每条指令的长度50.
函数返回一个指向二维字符数组的指针。
char **trim(char *cmd)
{
  char **argv;
  char **rtr;
  argv = (char**)malloc(10*sizeof(char *));
  for(int i = 0; i < 10; i++)
    argv[i] = (char*)malloc(sizeof(char)*50);
  rtr = argv;
  int i = 0;
  while (*cmd != \0 && *cmd != \n) {
    if (*cmd !=  ) {
      *(*argv+i) = *cmd;
      ++cmd;
      i++;
    }
    else {
      i = 0;
      ++cmd;
      ++argv;
      while(*cmd ==  ) {
    ++cmd;
      }

    }
  }
  return rtr;
}

技术分享

技术分享

c语言通过空格分割字符串,并生成多个字符串数组

标签:for   技术   二维   trim   字符   while   数组   logs   切割   

原文地址:http://www.cnblogs.com/zjufisher/p/6549696.html

(1)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!