怎么转换Tokenize这个函数
如何转换Tokenize这个函数
const CString respons;
int pos = 0;
CString status = response.Tokenize(_T( "\r\n "), pos);
status.Tokenize(_T( " "), pos);
vc6.0中没有Tokenize这个函数,不知道这个函数是什么意思。用什么语句可以代替这个函数?使得在vc6.0下可以运行?
------解决方案--------------------
//typedef CStringT < TCHAR, StrTraitATL < TCHAR > > CAtlString;
CAtlString str( "%First Second#Third " );
CAtlString resToken;
int curPos= 0;
resToken= str.Tokenize( "% # ",curPos);
while (resToken != " ")
{
printf( "Resulting token: %s\n ", resToken);
resToken= str.Tokenize( "% # ",curPos);
};
上面程序的输出:
Resulting Token: First
Resulting Token: Second
Resulting Token: Third
从上面看出,这个函数是用指定字符作为分割符,返回从某个位置起,直到第一个分割符之间的字符串
这个功能可以自己通过stl的string来完成``
------解决方案--------------------
int pos = 0;
CString status = response.Tokenize(_T( "\r\n "), pos);
//取得response中\r\n之前的内容,其实就是第一行
pos = 0;
status.Tokenize(_T( " "), pos);
改变了pos,但是status没有改变,这时pos指向第一个 " "空格后面
status = status.Tokenize(_T( " "), pos);//到此,难道status不就为空了么?
//从上面的pos开始取得下一个 " "之前的内容
//综合来看,就是取得第二个单词。
const CString respons;
int pos = 0;
CString status = response.Tokenize(_T( "\r\n "), pos);
status.Tokenize(_T( " "), pos);
vc6.0中没有Tokenize这个函数,不知道这个函数是什么意思。用什么语句可以代替这个函数?使得在vc6.0下可以运行?
------解决方案--------------------
//typedef CStringT < TCHAR, StrTraitATL < TCHAR > > CAtlString;
CAtlString str( "%First Second#Third " );
CAtlString resToken;
int curPos= 0;
resToken= str.Tokenize( "% # ",curPos);
while (resToken != " ")
{
printf( "Resulting token: %s\n ", resToken);
resToken= str.Tokenize( "% # ",curPos);
};
上面程序的输出:
Resulting Token: First
Resulting Token: Second
Resulting Token: Third
从上面看出,这个函数是用指定字符作为分割符,返回从某个位置起,直到第一个分割符之间的字符串
这个功能可以自己通过stl的string来完成``
------解决方案--------------------
int pos = 0;
CString status = response.Tokenize(_T( "\r\n "), pos);
//取得response中\r\n之前的内容,其实就是第一行
pos = 0;
status.Tokenize(_T( " "), pos);
改变了pos,但是status没有改变,这时pos指向第一个 " "空格后面
status = status.Tokenize(_T( " "), pos);//到此,难道status不就为空了么?
//从上面的pos开始取得下一个 " "之前的内容
//综合来看,就是取得第二个单词。