剥离NL的最佳方法

时间:2012-05-03 06:14:01

标签: c

我尝试了这个,但它不适合我:

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

1 个答案:

答案 0 :(得分:5)

你现在拥有的很好,除了:

  1. 您必须确保newstr指向有效的字符串;
  2. 检查strlen(newstr) > 0;
  3. 在擦除之前检查newstr[strlen(newstr)-1]确实是换行符;
  4. 确保调用者free()是返回的字符串。