如何在字符串中添加空字符?

时间:2016-10-27 02:27:51

标签: c pointers null

所以我试图将没有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;
     }

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;
     }