【C语言提高29】两个辅助指针变量挖字符串
2015-12-06 19:57
387 查看
#include<stdlib.h> #include<stdio.h> #include<string.h> #include<ctype.h> int spitString(char*buf1,char c,char (*buf2)[30],int*count) { //strcpy(buf2[0], "aaaaa"); //strcpy(buf2[1], "bbbbbb"); char *p = NULL, *pTmp = NULL; int tmpcount = 0; //1 p和ptmp初始化 p = buf1; pTmp = buf1; do { //2 检索符合条件的位置 p后移 形成差值 挖字符串 p = strchr(p, c); if (p != NULL) { if (p - pTmp > 0) { strncpy(buf2[tmpcount], pTmp, p - pTmp); buf2[tmpcount][p - pTmp] = '\0'; //把第一行数据变成 C风格字符串 tmpcount++; //3重新 让p和ptmp达到下一次检索的条件 pTmp = p = p + 1; } } else { break; } } while (*p != '\0'); *count = tmpcount; return 0; } void main() { int ret = 0, i = 0; char *p1 = "abcdef,acccd,eeee,aaaa,e3eeeee,sssss,"; char cTem = ','; int nCount; char myArray[10][30]; ret = spitString(p1, cTem, myArray, &nCount); if (ret != 0) { printf("fucn spitString() err: %d \n", ret); return ; } for (i = 0; i<nCount; i++) { printf("%s \n", myArray[i]); } printf("hello...\n"); system("pause"); return; }
相关文章推荐
- 旋转字符串的判断——KMP实现 (C++)
- VS C++执行DOS命令
- C/C++经典面试题(持续更新)
- Java & C++ 数组声明和使用语法对比
- c++_1: 基础问题
- PY++ 自动将你的C++程序接口封装供python调用
- 《C++ primer plus》:类的自动转换和强制类型转换
- C/C++检测进程是否被调试
- POJ3295——Tautology
- c++ 虚表
- 单链表(c语言版)
- Arduino 平台与C语言程序设计-week1-Arduino Environment-Lesson3
- C++学习知识点总结(1)
- c++动态联编与静态联编
- 在Sublime Text 3中配置编译和运行C++程序
- 写给一位期望做得更好的大学生
- C++学习笔记33——友元
- Arduino 平台与C语言程序设计-week1-Arduino Environment-Lesson2
- 【转】C++中struct与class的区别
- C++中多线程Singleton的实现