CString 分割成字符串数组可以做到吗? 直接的函数好像是没有的 你可以找到‘|’ 来把 str分离的啊 操作还是比较简单的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CString str="acx|bxd|yzs|pes"; char *csInput; csInput=str.GetBuffer(str.GetLength()); //提取字符串,把单词存放在数组csInput中 char seps[]= "|"; //字符串以|为分隔符 char *token; token = strtok( csInput, seps ); index=0; //全局变量 while( token != NULL ) //把提取到的单词存放到数组csEditIput中 { csEditInput[index]=token; /* 把单词存放在数组csEditInput中" */ index++; token = strtok( NULL, seps ); /* Get next token: */ } 谢谢.好象有问题.打印 token出来,acx没了.只有后面三位. 应该没有问题的,测试通过了的,你再试一下或者你去看看MSDN char string[] = "A string\tof ,,tokens\nand some more tokens";char seps[] = " ,\t\n";char *token;void main( void ){ printf( "%s\n\nTokens:\n", string ); /* Establish string and get the first token: */ token = strtok( string, seps ); while( token != NULL ) { /* While there are tokens in "string" */ printf( " %s\n", token ); /* Get next token: */ token = strtok( NULL, seps ); }} 直接用未公开的windows api函数...AfxExtractSubString(str,strFull,0,"|") 将第一组字符保存于str中... CString str,strtemp; str = "acx|bxd|yzs|pes"; int b = 0; while( -1 != str.Find('|')) { str.Remove('|'); } MessageBox(str);str.GetAt()len = str.Getlen()然后就可以使用了。 要求生成数组,感觉用7楼的那个API函数和CString操作可以简化到一定程度,再简单的方式应该是没有,无论怎样都需10行左右代码实现。 CString有个成员函数Tokenize, 可以实现 又查了一遍函数说明,原来AfxExtractSubString可以很简单地用,只需一行参数定义,一行循环语句即可完成楼主的目标。 注意最后一个参数只能是单个字符做分隔符,用单引号。---------------------------------------------------CString str=_T("acx|bxd|yzs|pes"),mArray[4];//定义源字符串&分割字符串数组 for(int i=0;i<4;i++) AfxExtractSubString(mArray[i],str,i,','); //将分割结果存放在数组中 帮帮小忙 用MFC输出TXT文件内容显示出来 菜鸟急问 急急急急急急急急!!!!!!!! 哪里有lex.exe 下载? 刚开始接触oracle和VC编程,大人给推荐一下VC的oracle数据库编程书籍吧。给大家拜早年。 请教类似与虚拟光驱那样再操作系统上虚拟一个磁盘是如何实现的?谢谢! 怎样可以剪切一个BITMAP的图片? 怎样让我的字体闪烁呢? 求解:MFC树形视图与视图之间的传递 我的窗口突然接收不到WM_MOUSEMOVE消息了 一个非常奇怪的OpenGL问题,急求,跪拜,匍匐,弯腰,低头,下跪............. 图片如何以缩略图的格式显示
char *csInput; csInput=str.GetBuffer(str.GetLength()); //提取字符串,把单词存放在数组csInput中
char seps[]= "|"; //字符串以|为分隔符
char *token; token = strtok( csInput, seps );
index=0; //全局变量
while( token != NULL ) //把提取到的单词存放到数组csEditIput中
{
csEditInput[index]=token; /* 把单词存放在数组csEditInput中" */
index++;
token = strtok( NULL, seps ); /* Get next token: */
}
char seps[] = " ,\t\n";
char *token;void main( void )
{
printf( "%s\n\nTokens:\n", string );
/* Establish string and get the first token: */
token = strtok( string, seps );
while( token != NULL )
{
/* While there are tokens in "string" */
printf( " %s\n", token );
/* Get next token: */
token = strtok( NULL, seps );
}
}
str = "acx|bxd|yzs|pes";
int b = 0;
while( -1 != str.Find('|'))
{
str.Remove('|');
}
MessageBox(str);
str.GetAt()
len = str.Getlen()
然后就可以使用了。
---------------------------------------------------
CString str=_T("acx|bxd|yzs|pes"),mArray[4];//定义源字符串&分割字符串数组 for(int i=0;i<4;i++) AfxExtractSubString(mArray[i],str,i,','); //将分割结果存放在数组中