我在字符串分割方面遇到了问题。下面的代码是有效的,但只有在字符串之间有空格时才有效。但我需要即使存在任何空白字符也能分割字符串。是否有必要使用strtok()
呢?
char input[1024];
char *string[3];
int i=0;
fgets(input,1024,stdin)!='\0') //get input
{
string[0]=strtok(input," "); //parce first string
while(string[i]!=NULL) //parce others
{
printf("string [%d]=%s\n",i,string[i]);
i++;
string[i]=strtok(NULL," ");
}
strtok
的参数可以包含任意数量的分隔符。 - Jongwarestrtok(input, " \t\r\n\f\v");
和strtok(NULL, " \t\r\n\f\v");
- The Paramagnetic Croissantfgets()
语句看起来不对(也缺少一个;
)。如果它是循环的一部分,你不能将其与\0
进行比较以检测失败。 - P.P