[C++]当分割符为多个空格时,如何使用strtok函数将字符串分割?
下面是以三个空格作为分隔符的例:charcode[]="Iamhungry.";char*tokenPtr;tokenPtr=strtok(code,"");/*以上字符...
下面是以三个空格作为分隔符的
例:
char code[] = "I a m hung r y.";
char *tokenPtr;
tokenPtr = strtok(code, " ");
/*
以上字符串里三个空格执行效果是一个空格的,即结果变成:
I
a
m
hung
r
y.
如何让它按三个空格分啊?即结果为:
I
a m
hung r y.
*/ 展开
例:
char code[] = "I a m hung r y.";
char *tokenPtr;
tokenPtr = strtok(code, " ");
/*
以上字符串里三个空格执行效果是一个空格的,即结果变成:
I
a
m
hung
r
y.
如何让它按三个空格分啊?即结果为:
I
a m
hung r y.
*/ 展开
1个回答
展开全部
strtok 函数可以定义多个分隔符,“多个”指几个品种,例如空白与逗号分号:
strtok(code, " ,;");
即空白是分隔符,逗号是分隔符,分号也是分隔符,不是说“空白逗号分号”3个符号组合为一个分隔符。
所以strtok 函数,你写了3个空白,实际上定义的分隔符是1个空白。
分割符为多个空格时你可以自己写函数,用循环语句一个字符一个字符地检查,连续遇到3个空白,把第3个空白换成逗号。然后用strtok(code, ","); 处里即可。
strtok(code, " ,;");
即空白是分隔符,逗号是分隔符,分号也是分隔符,不是说“空白逗号分号”3个符号组合为一个分隔符。
所以strtok 函数,你写了3个空白,实际上定义的分隔符是1个空白。
分割符为多个空格时你可以自己写函数,用循环语句一个字符一个字符地检查,连续遇到3个空白,把第3个空白换成逗号。然后用strtok(code, ","); 处里即可。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询