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;
}

时间: 2024-12-22 04:43:37

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

python中将指定的字符串转换为大写字母并每隔2个字符用空格分割后得到一个新字符串的方法

在例子中对指定的字符串: faa5fbb5fcc5fdd5010200000028000001900000000a002d00000000017d7840000003e800005fa55fb55fc55fd5 使用了三种方法将其转换为大写字母并每隔2个字符用空格分割处理后得到一个新字符串,为: FA A5 FB B5 FC C5 FD D5 01 02 00 00 00 28 00 00 01 90 00 00 00 0A 00 2D 00 00 00 00 01 7D 78 40 00 00

JAVA 一个或多个空格分割字符串

知识补充 String的split方法支持正则表达式: 正则表达式\s表示匹配任何空白字符,+表示匹配一次或多次. 有了以上补充知识,下面的内容就很好理解了. 一.待分割字符串 待分割字符串为如下: String str = "a b c d e f g" 其中,字符串中的的空白分别为:单个空格,多个空格,tab制表符. 二.使用一个或多个空格分割字符串 正确代码如下: String [] arr = str.split("\\s+"); for(String ss

在BAT文件中实现对空格分割的字符串的处理

1.      Bat代码 @echo off REM 待处理的字符串 set str="AAA BBB CCC" :STR_VISTOR REM 看看每次循环后的值,便于理解 echo str = %str% REM FOR语句是按行进行遍历,也就是一行一次循环,对于我们来说,只有一行字符串, REM 这个FOR循环肯定只进入一次.而我们是要对字符串进行空格分割后再处理.因此这 REM 里用GOTO语句来实现循环.而FOR语句只需看成是一条语句,这条语句实现了这样的 REM 功能:将

Python 中的POST/GET包构建以及随机字符串的生成-乾颐堂

现在,我们来用Python,创建GET包和POST包. 至于有什么用处,大家慢慢体会. Python 中包含了大量的库,作为一门新兴的语言,Python 对HTTP有足够强大的支持. 现在,我们引入新的库 httplib 以及 urllib 这两个库根据名称,我们可以知道他们是对于HTTP以及URL的操作. 首先我们先要与服务器建立连接.(我们以某微博作为例子实现下文的各种功能) conn = httplib.HTTPConnection("ti50*****com"); 只要没有提示

PHP截取并生成纯文本字符串

php截取并生成纯文本字符串.最近使用文本编辑器保存的内容中有html,css以及js标记,但是我只想截取前面一部分纯文本内容显示摘要,这里直接上代码,如下: /**  * PHP清除html.css.js格式并去除空格的PHP函数,并具有截取UTF-8字符串的作用  */ function cutstr_html($string, $sublen){   $string = strip_tags($string);   $string = preg_replace ('/\n/is', '',

生成与中文字符串相对映的拼音首字母串

/** * 作者:王延领 * 功能:生成与中文字符串相对映的拼音首字母串 * 版本: V1.0 alpha */ // 汉字拼音首字母列表 本列表包含了20902个汉字 //函数使用,本表收录的字符的Unicode编码范围为19968至40869 var strChineseFirstPY = "YDYQSXMWZSSXJBYMGCCZQPSSQBYCDSCDQLDYLYBSSJGYZZJJFKCCLZDHWDWZJLJPFYYNWJJTMYHZWZHFLZPPQHGSCYYYNJQYXXGJH

Python的语言基础总结(二)之循环与字符串操作

一.循环和分支 1. 条件分支语句 if 条件: 代码块 else: 代码块 2. 循环语句之while 思考1:求1+2+3+....+10的值 sum = 0 num = 1 while num < 101: sum += num num += 1 print(sum) for 循环 for 语句: 代码块 二.字符串操作 1.字符串的拼接 使用加号进行链接 #字符串的链接,通过"+"进行链接 s1 = 'welcome' s2 = 'to guangzhou' print(

解决CsvWriter:中文乱码、末尾行多一行空格(/r)、非第一列空字符串&quot;&quot;显示null问题

一:主要内容 解决CsvWriter存csv,csv文件打开后中文乱码问题 解决CsvWriter存csv,csv文件最后一行总是多一行空行的问题 解决CsvWriter存csv,csv文件不是第一列的时候,想存入""即空字符串无法存入显示null的问题 二:解决问题前:需要做的事情 因为网上的CsvWrite的jar包导入到我们的工程中是class文件,针对上面的问题是无法修改源码的,但是我们又想用这个工具来操作csv,所以可以在自己的工程中首先pom引用这个jar包 <dep

实体字符转换,同样变量密码加盐MD5后生成的加密字符串不同解决办法 (原)

我是首次登录系统自动生成一个密码,格式大概是:   abcd1234&  这种格式 , 比如加密规则就是一个 MD5() 然后,首次账号密码登录,输入密码 abcd1234&,一直提示密码错误,我输出了一下MD5('bacd1234&')值,然后拿出数据库MD5的字符串比较,就是不一样,但是我生成随机密码后加密是没问题的. 问题出在: var_dump() 一下,我们登录表单提交的密码,和我们系统生成的密码字符串,会发现一模一样的字符串,类型也都是string,但是长度不一样,因为