如何以空格或回车换行分割一个CString字符串为多个字符串?
字符串中如何以空格或回车换行分割一个CString字符串为多个字符串?
Example:
CString bb="APEC 2001\n Shang Hai china";
如何分割成5五个字符串?
问题点数:30、回复次数:10Top
1 楼lights(口是心非)回复于 2001-11-15 22:43:44 得分 0
自己编程,你是程序人啊!Top
2 楼smallfool(smallfool)回复于 2001-11-16 08:48:30 得分 0
这种程序不是太难吧?Top
3 楼horsehorse(老马)回复于 2001-11-16 09:00:15 得分 0
ANSI C函数:strtokTop
4 楼Anaki(三藏)回复于 2001-11-16 09:22:40 得分 0
呵呵,还是老马识途啊!
本来还想随手写一个呢 :)Top
5 楼kiko_lee(清醒的迷茫中)回复于 2001-11-16 10:07:11 得分 0
容易哦,自己用Find(),就可以了嘛。判断一下。Top
6 楼jinhaii(金海)回复于 2001-11-16 10:10:01 得分 0
strtok Top
7 楼yajunmao(oldcat)回复于 2001-11-16 10:11:50 得分 0
可不要太懒哦Top
8 楼panghan()回复于 2001-11-16 12:10:08 得分 30
char *token;
CString bb="APEC 2001\n Shang Hai china";
CString str[10];
char seps[] = " \n";
int count = bb.GetLength();
token = strtok(bb.GetBuffer(count), seps);
str[0].Format("%s", token);
TRACE("%s", str[0]);
int i = 1;
while(1)
{
token = strtok(NULL, seps);
if(token == NULL)
break;
str[i].Format("%s", token);
TRACE("%s\n", str[i]);
i++;
}Top
9 楼Phourm()回复于 2001-11-16 13:00:06 得分 0
CString bb="APEC 2001\n Shang Hai china";
CString strTemp;
int nPosS,nPosR;
bb.TrimLeft();
bb.TrimLeft('\n');
bb.TrimRight();
bb.TrimRight('\n");
while( !bb.IsEmpty() )
{
nPosS = bb.Find(' ');
nPosR = bb.Find('\n');
if( nPosS == 0 && nPosR ==0 )//只乘下一个了
{
strTemp = bb;
break;
}
strTemp = bb.Left(min(nPosS,nPosR));//得到一个
bb = bb.Right( bb.GetLength() - min(nPosS,nPosR) - 1 );
bb.TrimLeft();
bb.TrimLeft('\n');
bb.TrimRight();
bb.TrimRight('\n");
}Top
10 楼bytt(bytt)回复于 2001-11-16 16:19:34 得分 0
谢谢Top




