资源简介
用C语言实现 分隔符报文的解析,例如|1|2|3| 1|2|3 |1|2|3 1|2|3| 这几种模式都可以成功解析出各个域
代码片段和文件信息
#include “public.h“
/*获得字符串中域的个数以fmt为分隔符*/
int GetRegionNumByFmt( char *sString char fmt )
{
int i nNum = 0;
/*忽略开头和者结尾的分隔符*/
for( i=1; i {
if(sString[i] == fmt ) nNum++;
}
if( nNum != 0 ) return ++nNum;
return 0;
}
/*获得第nCount域的内容以fmt为分隔符,将获得的内容填入sStringOutput中*/
void GetCountRegionByFmt( char *sStringInput char fmt int nCount char *sStringOutput )
{
int i nNum = 0;
char *sStart = NULL;
char *sEnd = NULL;
/*获得第nCount-1个分隔符的位置开头和结尾的忽略*/
for( i=1; i {
if(sStringInput[i] == fmt ) nNum++;
if( nCount == 1 )
{
if( sStringInput[0] == fmt ) sStart = &(sStringInput[1]);
else sStart = &(sStringInput[0]);
break;
}
if( nNum == nCount-1)
{
sStart = &(sStringInput[i]);
sStart++;
break;
}
}
sEnd = strchr( sStart fmt );
if( sEnd == NULL )
{
strcpy( sStringOutput sStart );
return;
}
memcpy( sStringOutput sStart sEnd-sStart);
}
/*获得字符串中的以fmt为分隔符的第nCount个域返回域的总数*/
int GetRegionByFmt( char *sStringInput char fmt int nCount char *sStringOutput )
{
int nTotalRegion = 0;
char *sStart = NULL;
char *sEnd = NULL;
if( sStringInput == NULL ) return -1;
/*获得字符串中子域的总个数*/
nTotalRegion = GetRegionNumByFmt(sSt
- 上一篇:单片机课程设计数字温度控制器
- 下一篇:MFC用树控件制作简单通讯录
相关资源
-
C语言编写的xm
l库源文件(支持xm< - PE文件格式解析MFCC++源码
- C++primer第五版习题答案及解析
- C语言面试题附带答案解析
- ARP数据包的解析
- VC++解析并显示JPEG图片showjpeg.rar
- UE4中文视频教程,全面解析UE4中C++代
- C语言综合 里面含有八皇后问题,蓝
- c语言winsock 实现简单域名解析(DNS
- C++ 实现的HTTP协议打包解析器
- C++读取WAV格式音频文件
- PE文件解析类轻松制作自己的PE文件解
- 类C语言的脚本解析执行(使用C++语言
- NMEA0183解析 c++
- http 协议解析类 c++
- C++五子棋源代码程序解析
- C++ 编写解析Torrent文件的类
- C++二级考试试题含答案和解析
- C++ PE格式解析源码
-
xm
l解析 CMarkup类 c++ -
MFC、DOM实现的xm
l文件解析、修改和 - 基于c++的markdown解析器
- 单片机接收数据帧帧头帧尾校验数据
- RapidJson解析JSON文件C++ vs2017亲测可完美
- 解析IP数据包课程设计
- 三个PE解析器代码学习
- Ethernet帧结构解析程序
-
纯C语言解析xm
l字符串 - VC++中运算表达式字符串解析求值四则
- VC通过HttpGet和HttpPost方式与WebService通
评论
共有 条评论