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

截取字符串的有关问题?

2012-03-05 
求助截取字符串的问题??原字符串格式如下,考虑效率问题str1 A:B:C:D:E 要求输出ch1 A ch2 B ch3

求助截取字符串的问题??
原字符串格式如下   ,考虑效率问题
str1= "A:B:C:D:E "

要求输出

ch1   = "A "
ch2   = "B "
ch3   = "C "
ch4   = "D "
ch5   = "E "

[解决办法]
int main()
{
char str1[] = "A:B:C:D:E ";

char *token = strtok( str1, ": " );

while( token != NULL )
{
printf( " %s\n ", token );
token = strtok( NULL, ": " );
}


return 0;
}
[解决办法]
sscanf(str1, "%c:%c:%c:%c:%c ", &ch1, &ch2, &ch3, &ch4, &ch5);
[解决办法]
------------------------------
char str1[]= "A:B:C:D:E ";
char *s = str1;
register char *p = str1, c;

s = p = str1;

do {
c = *p++;
if(c == ': ') {
*(p-1) = 0;
puts(s);
s = p;
}
}while( c );
------------------------------
char str1[]= "A:B:C:D:E ";
register char *p = str1, c;

while( c = *p++ ) {
switch(c) {
default: putchar(c); continue;
case ': ': putchar( '\n '); break;
}
}
------------------------------
char str1[]= "A:B:C:D:E ";
register char *p=str1, *s = str1 + strlen(str1);

while(p <= s--) {
if(*s == ': ') {
*s = 0;
put(s+1);
}
}
------------------------------
[解决办法]
好像最后那个还可以.....

热点排行
Bad Request.