C/C++ 分割字符并返回字符数组实例

C/C++ 分割字符并返回字符数组实例

//分割字符并返回字符数组 char **GetStrArray(char* s,const char* d) { char* s_s=new char[strlen(s)]; strcpy(s_s,s); //计算字符数组个数 int rows=0; char *p_str=strtok(s_s,d); while(p_str) { rows+=1; p_str=strtok(NULL,d); } //重新初始二维数据 char **strArray=new char*[rows+1]; for(int i=0;i<rows;i++) { strArray[i]=NULL; } strArray[0]=i2cp(rows); //数组总长度 // int index=1; s_s=new char[strlen(s)]; strcpy(s_s,s); p_str=strtok(s_s,d); while(p_str) { char* s_p=new char[strlen(p_str)]; strcpy(s_p,p_str); //添加到二维数组中 strArray[index]=s_p; // index+=1; p_str=strtok(NULL,d); } return strArray; }用法1:

char* f_ext="cun_xzdw.wl";
char **strArray=GetStrArray(f_ext,".");
int tlen=atoi(strArray[0]);
ShowMsg(strArray[1]);  //表示获取到的cun_xzdw字符串

用法2:

//获取不带扩展名的文件名 char* getfilenameNoExt_lc(char* s,const char* d) { //获取带扩展名的文件名 char** strArray; char* t_f_ext=NULL; strArray=GetStrArray(s,"\\"); int t_len=atoi(strArray[0]); t_f_ext=strArray[t_len]; //获取不带扩展名的文件名 char* t_fname=NULL; strArray=GetStrArray(t_f_ext,"."); int arraylen=atoi(strArray[0]); if(arraylen>=2) { t_fname=strArray[1]; } return t_fname; }char* Lfilename="d:\\cun_xzdw.wl";
char* t_fname=getfilenameNoExt_lc(Lfilename,"\\");

//t_fname="cun_xzdw";

---the--end--

---vp:hsg

---create date:2012-04-19--

转载于:https://www.cnblogs.com/sqlite3/archive/2012/04/19/2566717.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值