读书人

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

发布时间: 2013-02-24 17:58:56 作者: rapoo

截取一个字符串

"\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);

读书人网 >C++

热点推荐