C语言去除字符串首尾空格,trim()函数实现

来源:互联网 发布:李选民淘宝上卖的真吗 编辑:程序博客网 时间:2024/05/01 10:32

C语言中目前没有现成的trim函数,自己实现了一个。

#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>//去除尾部空格char *rtrim(char *str){if (str == NULL || *str == '\0'){return str;}int len = strlen(str);char *p = str + len - 1;while (p >= str  && isspace(*p)){*p = '\0';--p;}return str;}//去除首部空格char *ltrim(char *str){if (str == NULL || *str == '\0'){return str;}int len = 0;char *p = str;while (*p != '\0' && isspace(*p)){++p;++len;}memmove(str, p, strlen(str) - len + 1);return str;}//去除首尾空格char *trim(char *str){str = rtrim(str);str = ltrim(str);return str;}void demo(){char str[] = "   ab  c ";printf("before trim:%s\n", str);char *p = trim(str);printf("after trim:%s\n", p);}int main(int argc, char **argv){demo();return 0;}


0 0