找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 172|回复: 0

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

[复制链接]

1

主题

0

回帖

35

积分

管理员

积分
35
发表于 2024-3-16 09:47:21 | 显示全部楼层 |阅读模式
  1. //分割字符并返回字符数组
  2. char **GetStrArray(char* s,const char* d)
  3. {               
  4.     char* s采用s=new char[strlen(s)];
  5.         strcpy(s采用s,s);
  6.         //计算字符数组个数
  7.         int rows=0;
  8.     char *p采用str=strtok(s采用s,d);
  9.         while(p采用str)
  10.     {        
  11.                 rows+=1;
  12.         p采用str=strtok(NULL,d);
  13.         }
  14.         //重新初始二维数据
  15.         char **strArray=new char*[rows+1];
  16.         for(int i=0;i<rows;i++)
  17.         {
  18.         strArray[i]=NULL;
  19.         }       
  20.         strArray[0]=i2cp(rows);  //数组总长度
  21.         //
  22.         int index=1;
  23.         s采用s=new char[strlen(s)];
  24.         strcpy(s采用s,s);
  25.     p采用str=strtok(s采用s,d);
  26.         while(p采用str)
  27.     {                        
  28.         char* s采用p=new char[strlen(p采用str)];
  29.             strcpy(s采用p,p采用str);
  30.                 //添加到二维数组中
  31.         strArray[index]=s采用p;
  32.                 //
  33.                 index+=1;
  34.         p采用str=strtok(NULL,d);
  35.         }       
  36.         return strArray;
  37. }
复制代码


char* f采用ext="cun采用xzdw.wl";
char **strArray=GetStrArray(f采用ext,".");
int tlen=atoi(strArray[0]);
ShowMsg(strArray[1]);  //表示获取到的cun采用xzdw字符串
  1. //获取不带扩展名的文件名
  2. char* getfilenameNoExt采用lc(char* s,const char* d)
  3. {     
  4.         //获取带扩展名的文件名
  5.          char** strArray;
  6.          char* t采用f采用ext=NULL;
  7.          strArray=GetStrArray(s,"\");
  8.          int t采用len=atoi(strArray[0]);
  9.          t采用f采用ext=strArray[t采用len];
  10.     //获取不带扩展名的文件名
  11.          char* t采用fname=NULL;                                
  12.          strArray=GetStrArray(t采用f采用ext,".");
  13.          int arraylen=atoi(strArray[0]);
  14.          if(arraylen>=2)
  15.          {
  16.             t采用fname=strArray[1];
  17.          }
  18.          return t采用fname;
  19. }
复制代码


char* Lfilename="d:\\cun采用xzdw.wl";
char* t采用fname=getfilenameNoExt采用lc(Lfilename,"\\");
//t采用fname="cun采用xzdw";
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|膜结构网

GMT+8, 2025-1-1 17:23 , Processed in 0.113565 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表