【发布时间】:2012-10-21 17:02:00
【问题描述】:
我编写了一个函数来包装 GNU getline() 并删除尾随的换行符,但由于某种原因它没有效果。我是不是做错了什么?
ssize_t readline(char **lineptr, FILE *stream)
{
size_t len = 0; // Size of the buffer, ignored.
ssize_t chars = getline(lineptr, &len, stream);
if((*lineptr)[chars] == '\n') {
(*lineptr)[chars] = '\0';
--chars;
}
return chars;
}
它编译和链接没有问题,但换行符不会被空终止符替换。我已经验证 if() 语句正在运行。感谢您的帮助!
【问题讨论】:
-
刚刚用它来去除换行符,g_strchomp(line)
标签: c