提取以“|”分隔的字符串的各个分隔项元素

来源:互联网 发布:域名服务器架设教程 编辑:程序博客网 时间:2024/05/06 00:17

近期,项目需要,涉及到了一些以“|”分隔的字符串数据,想要提取其中各数据元素的值

例如:“|0712|932020|1000000000400505|0705|76200250|898469549000201|”

#include <stdio.h>#include <stdlib.h>#include <string.h>int GetEle(char* szLine, char* pStr, int n){int nLineSize = strlen(szLine);int i = 0;for (; i < nLineSize; i++){szLine[strlen(szLine) - 1] = '|';//解析一行的数据char* szTmp = szLine;char* szLast = szTmp;int nFiledNum = 0;while (szTmp = strchr(szTmp, '|')){char szStr[256] = { 0 };memcpy(szStr, szLast, szTmp - szLast);szTmp = szTmp + 1;szLast = szTmp;if (n == nFiledNum){strcpy(pStr, szStr);}++nFiledNum;}}return 0;}int main(void){char str[100] = "|0712|932020|1000000000400505|0705|76200250|898469549000201|";char strn[50] = { 0x00 };memset(strn, 0x00, sizeof(strn));int ret = GetEle(str, strn, 6);if (ret!=0){printf("Error\n");}printf("strn=%s\n", strn);system("pause");return 0;}

运行结果:



0 0
原创粉丝点击