-1

我试过这个,但它不适合我:

char * remove_nl(char * newstr)
{
    newstr = strdup(newstr);
    newstr[strlen(newstr)-1] = '\0';
    return newstr;
}
4

1 回答 1

5

您现在拥有的一切都很好,除了:

  1. 你必须确保它newstr指向一个有效的字符串;
  2. 检查strlen(newstr) > 0;
  3. 在擦除之前检查它newstr[strlen(newstr)-1]确实是一个换行符;
  4. 确保调用者free()是返回的字符串。
于 2012-05-03T06:18:25.227 回答