如何分割字符串?
1:ip:ipport:user
如何将字符串分割,就是用冒号分割,分成四部分,然后将分割后的四部分分别存储在字符串中,
用什么函数可以实现吗?
请高手赐教!
[解决办法]
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
char string[] = "1:ip:ipport:user ";
char seps[] = ": ";
char *token;
int main( void )
{
printf( "Tokens:\n " );
// Establish string and get the first token:
token = strtok( string, seps ); // C4996
// Note: strtok is deprecated; consider using strtok_s instead
while( token != NULL )
{
// While there are tokens in "string "
printf( "%s\n ", token );
// Get next token:
token = strtok( NULL, seps ); // C4996
}
system( "pause ");
return 0;
}
[解决办法]
string str( "1:ip:ipport:user ");
vector <string> vec; //vec里面存放结果
string::size_type currPos = 0, prevPos = 0;
while ((currPos = str.find( ' ', prevPos)) != string::npos) {
string b(str.substr(prevPos, currPos - prevPos));
vec.push_back(b);
prevPos = currPos + 1;
}
if (prevPos < str.size()) {
string b(str.substr(prevPos));
vec.push_back(b);
}
//现在vec里面包含这4个string:1,ip,ipport,user