在C语言中模仿Python的strip()函数
问题内容:
我最近开始在C中进行一个小玩具项目,并一直在努力模仿python字符串对象一部分的strip()功能的最佳方法。
读一遍fscanf或sscanf表示该字符串被处理到遇到的第一个空格。
fgets也无济于事,因为我仍然有换行符。我确实尝试了strchr()来搜索空格,并将返回的指针显式设置为“ \ 0”,但这似乎不起作用。
问题答案:
对于strip()或trim()函数,没有标准的C实现。就是说,这是Linux内核中包含的一个:
char *strstrip(char *s)
{
size_t size;
char *end;
size = strlen(s);
if (!size)
return s;
end = s + size - 1;
while (end >= s && isspace(*end))
end--;
*(end + 1) = '\0';
while (*s && isspace(*s))
s++;
return s;
}