C/C++文字を分割して文字配列インスタンスを返す
C/C++文字を分割して文字配列インスタンスを返す
char* f_ext="cun_xzdw.wl"; char **strArray=GetStrArray(f_ext,"."); int tlen=atoi(strArray[0]); ShowMsg(strArray[1]);//取得したcun_を表すxzdw文字列
使用法2:
char* t_fname=getfilenameNoExt_lc(Lfilename,"\\");
//t_fname="cun_xzdw";
---the--end--
---vp:hsg
---create date:2012-04-19--
//
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--