首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

截取一个字符串,该如何处理

2013-02-24 
截取一个字符串\oss.$oss.a.b0129最好用api函数来截取 截取结果:a.b0129我用strtok 有问题char string[]

截取一个字符串

"\oss.$oss.a.b0129"

最好用api函数来截取 截取结果:a.b0129
我用strtok 有问题

char string[] = "\oss.$oss.a.b0129";
char sep1[]   = "$";
char sep2[] = ".";
char *token;
short tokval = 1;
for(int i = 0; i < sizeof(string);i++)
{
if(!strcmp(&string[i], sep1))
{
while(tokval)
{
tokval = strcmp(&string[i], sep2);
printf("%s\n", &string[i]);
break;
}
}

}
自己写的有些问题
[解决办法]
1、字符串要写成char string[] = "\\oss.$oss.a.b0129";
2、根据自己的截取规则,一个字符一个字符的遍历。
[解决办法]
char s[]="\oss.$oss.a.b0129";
char t[30];
sscanf(s,"\oss.$oss.%s",t);
或者
sscanf(s,"%*[^.].%*[^.].%s",t);

热点排行