用strtok函数拆分字符串
来源:互联网 发布:硬盘分区后数据恢复 编辑:程序博客网 时间:2024/06/06 07:25
字符串拆分函数的实现:
/** * split_string * 用分隔符[delims]拆分字符串[src],结果存放到字符串数组[dest]中 * 返回拆分出来的字符串数量 */int split_string(const char* src, char* dest[], const char* delims){ char* str; char* result = NULL; int i = 0; if((src == NULL) || (delims == NULL)){ return i; } /** strtok函数会改变原串内容,故建立一个拷贝 */ str = (char*)malloc(sizeof(char) * (strlen(src) + 1)); if(str == NULL){ return i; } strcpy(str, src); /** 利用strtok函数拆分字符串 */ result = strtok(str, delims); while(result != NULL){ strcpy(dest[i++], result); result = strtok(NULL, delims); } free(str); return i;}
#define COUNT (16)#define LENGTH (8)int main(int argc, char* argv[]){ char* dest[COUNT]; int n; int i; int j; /** 分配足够的空间用于存放拆解出来的数据 */ for(i = 0; i < COUNT; i++){ dest[i] = (char*)malloc(LENGTH); if(dest[i] == NULL){ for(j = 0; j < i; j++){ free(dest[j]); } return -1; } } /** 拆解GPS可视卫星状态数据并打印出来 */ n = split_string("$GPGSV,3,3,11,29,09,301,24,16,09,020,,36,,,*76", dest, ","); for(i = 0; i < n; i++){ printf("%s\n", dest[i]); } for(i = 0; i < COUNT; i++){ free(dest[i]); } return 0;}
打印的结果如下:
$GPGSV3311290930124160902036*76
0 0
- 用strtok函数拆分字符串
- C语言字符串拆分函数strtok
- C语言字符串拆分函数strtok
- 拆分字符串strtok
- strtok 拆分字符串的方法
- C 拆分字符串(strtok,strsep)
- C拆分字符串 sscanf vs strtok
- strtok函数,分割字符串
- strtok 字符串分割函数
- 字符串分割函数 strtok
- 字符串函数strtok
- 字符串函数strtok
- 字符串函数strtok
- 分割字符串:strtok()函数
- strtok函数 字符串分词
- strtok函数分割字符串
- 字符串处理函数 strtok
- 字符串分隔函数strtok
- 剑指Offer面试题2:替换空格
- iTunes Connect 上传APP报错: Communication error. please use diagnostic mode to check connectivity.
- Java实现链式存储的线性表
- struts初探
- C语言模糊基础概念之强制类型转换
- 用strtok函数拆分字符串
- Linux内核的学习总结(一)
- ORA-19706: 无效的 SCN
- Bitmap的mutable属性引发的血案
- Unity中对Apk签名验证
- HTTP POST GET 本质区别详解
- Oracle11g数据库监听配置
- Delete Duplicate records
- GetTickCount