所以我试图将没有strtok的字符串标记为家庭作业。教授建议我们添加' \ 0'哪里有一个空格来将字符串分成像strtok这样的部分。我的问题是,一旦我找到第一个空格,我可以添加一个' \ 0'它的性格,但它停在那里,我不能添加' \ 0'之后的其他空格字符。
int tokenize(char *line, int len){
int i;
char *ptr = line;
for(i=0; i<len; i++){
if(isspace(ptr[i]){
ptr[i]='\0';
}
}
return 1;
}
int main(){
char *line= "wo rd ";
int len = strlen(line);
tokenize(line, len);
return 1;
}
答案 0 :(得分:0)
Isspace函数将仅搜索字符串,直到遇到NULL(\ 0)字符。因此将字符串元素与空格(或ASCII值)进行比较以识别空格并将其替换为'\ 0'字符。
int tokenize(char *line, int len){
int i;
char *ptr = line;
for(i=0; i<len; i++){
if(ptr[i] == ' '){
ptr[i]='\0';
}
}
return 1;
}
int main(){
char *line= "wo rd ";
int len = strlen(line);
tokenize(line, len);
return 1;
}