C语言比较巧妙的字符串分割程序

在解析字符串时,能够解析的给出每个字符串的长度、内容、以及每个字符串的第一个字符的地址。

short i;  

 char SentenceCnt =0;   //切割之后的字符串的个数

 short ItemSum = 0,ItemLen[40],Idx[40], ThCommandLen = 0;  //ItemSum 每个逗号之前的字符串的长度
                                                                                                        //ItemLen每个字符串的长度
                                                                                                        //Idx每个字符串第一个字符的地址

for ( i = 0; i < length; i++)
 {
  if ( pInBuff[i] == ‘,‘) //以逗号分隔
  {
   ItemLen[SentenceCnt] = i - ItemSum - SentenceCnt;
   ItemSum += ItemLen[SentenceCnt];
   SentenceCnt++;
   Idx[SentenceCnt] = i + 1;
}
 }
 ItemLen[SentenceCnt] = length - Idx[SentenceCnt];    //get the second parameter of the command
时间: 2024-10-08 10:07:16

C语言比较巧妙的字符串分割程序的相关文章

C语言strtok()函数:字符串分割

头文件:#include <string.h> 定义函数:char * strtok(char *s, const char *delim); 函数说明:strtok()用来将字符串分割成一个个片段.参数s 指向欲分割的字符串,参数delim 则为分割字符串,当strtok()在参数s 的字符串中发现到参数delim 的分割字符时则会将该字符改为\0 字符.在第一次调用时,strtok()必需给予参数s 字符串,往后的调用则将参数s 设置成NULL.每次调用成功则返回下一个分割后的字符串指针.

c语言字符串分割函数(strtok())

头文件:#include <string.h> 定义函数:char * strtok(char *s, const char *delim); 函数说明:strtok()用来将字符串分割成一个个片段.参数s 指向欲分割的字符串,参数delim 则为分割字符串,当strtok()在参数s 的字符串中发现到参数delim 的分割字符时则会将该字符改为\0 字符.在第一次调用时,strtok()必需给予参数s 字符串,往后的调用则将参数s 设置成NULL.每次调用成功则返回下一个分割后的字符串指针.

常用的字符串分割方法

起因:前段时间写命令行解析函数(字符串分割比较通用的例子),没有经过深入思考和分析引起了程序死循环,就想了下是否有对应的系统函数可以使用.经过一番搜索之后发现还是有几个可用的字符串分割函数,这里整理下,以作总结及后续查询使用. 当然,如果你觉得自己的字符串处理可以做的很好,可以考虑直接使用字符串查找函数做字符串分割,比如c中的字符串查找函数.CString字符查找函数.string字符查找函数等,更原始点可以直接操作内存. windows下有以下几种可用的字符串分割方法. CString::To

c++字符串分割方法

平常做项目都是用java语言,搞毕业论文的时候,需要用到opengl,而opengl和c++的关系很密切并且参考资料也比较丰富,在程序开发的过程用中到了字符串分割,查api竟然没有找到自带的split函数,在这里记录一下c++字符串分割方法. static void split(const string& src, const string& separator, vector<string>& dest) { string str = src; string subs

将中文字符串分割为数组 解决str_split中文乱码php

首先来介绍str_split()这个函数: 它的作用是将字符串分割为数组: 例如: $str='abcde';str_plite($str); 打印结果如下:Array(    [0] => a    [1] => b    [2] => c    [3] => d    [4] => e) 看似很好用的样子:但是作为中国程序员:不可避免的要和中文打交道: 这时候再用str_splite就会悲剧的发现乱码了::: 不要怕:preg_splite可以拯救这个问题: 当然是需要配

C语言--&gt;(十三)字符串

知识点: 1.字符和字符处理函数 2.字符串的本质和字符串输入输出函数 3.字符串转换函数 4.常用字符串处理函数 5.字符串查找函数 6.字符串分割函数 7.字符串替换 8.常用字符串处理函数实现 9.sscanf sprintf函数 ================================C中必须先定义类型后使用,没有字符串类型,字符串用一串字符,基本元素是字符 “xiaoqiang\0” 字符和字符处理1常用字符 数字字符: ‘0’ ‘1’ — ‘9’字母字符:’M’ ‘F’ ‘a

字符串分割(C++)

一.用strtok函数进行字符串分割 原型: char *strtok(char *str, const char *delim); 功能:分解字符串为一组字符串. 参数说明:str为要分解的字符串,delim为分隔符字符串. 返回值:从str开头开始的一个个被分割的串.当没有被分割的串时则返回NULL. 其它:strtok函数线程不安全,可以使用strtok_r替代. 示例: 1 //借助strtok实现split 2 #include <string.h> 3 #include <s

R语言学习笔记:字符串处理

想在R语言中生成一个图形文件的文件名,前缀是fitbit,后面跟上月份,再加上".jpg",先不百度,试了试其它语言的类似语法,没一个可行的: C#中:"fitbit" + month + ".jpg" VB:"fitbit" & month & ".jpg" Haskell:"fitbit" ++ month ++ ".jpg" 还想到concat之

字符串查找程序

/* 这是一个字符串查找程序 改编自<算法:c语言实现>P64 增加了一个对连续字符的检测的判别 例如查找aaa 但是你输入的是aaaa,其实只有一个aaa */ #include "stdio.h" #include "stdlib.h" #include "time.h" #define N 10000 int main(int argc, char *argv[]) { int i,j,t,temp[N],*ti=temp; c