我尝试了这个,但是对我不起作用:

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

最佳答案

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


您必须确保newstr指向有效的字符串;
检查strlen(newstr) > 0;
清除newstr[strlen(newstr)-1]确实是换行符,然后再擦掉它;
确保调用方free()返回的字符串。

关于c - 去除NL的最佳方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10426064/

10-09 02:14