首页 > 代码库 > c语言通过空格分割字符串,并生成多个字符串数组
c语言通过空格分割字符串,并生成多个字符串数组
本科学的一点点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语言通过空格分割字符串,并生成多个字符串数组
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。