c语言实现的trim函数,去掉字符串两端的空白字符
微wx笑 2022-03-26【编程语言】 4 0关键字: c语言
功能:去掉字符串首尾的空格,换行符等空白。代码:#include <string.h>#include <stdio.h>#include <ctype.h>char *trim(char *str){ char *p = str; char *p1;
功能:去掉字符串首尾的空格,换行符等空白。
代码:
#include <string.h> #include <stdio.h> #include <ctype.h> char *trim(char *str) { char *p = str; char *p1; if(p) { p1 = p + strlen(str) - 1; while(*p && isspace(*p)) p++; while(p1 > p && isspace(*p1)) *p1--=0; } return p; } //去除尾部空格 char *rtrim(char *str) { if(str == NULL||*str == '\0') { return str; } int len = strlen(str); char *p=str+len-1; while(isspace(*p)&&p>=str) { *p = '\0'; --p; } return str; } char *ltrim(char *str) { if(str == NULL||*str == '\0') { return str; } char *p = str; int len = 0; while(*p != NULL&&isspace(*p)) { ++p; ++len; } memmove(str,p,strlen(str)-len+1); return str; } int main() { char a[]=" asa "; char* h=trim(a); printf("%s\n",h); return 0; }
ps:不能直接用char* a=" asd ";因为这是常量字符串,不能修改。
C 库函数 int isspace(int c)
检查所传的字符是否是空白字符。
标准的空白字符包括:
' ' (0x20) space (SPC) 空格符 '\t' (0x09) horizontal tab (TAB) 水平制表符 '\n' (0x0a) newline (LF) 换行符 '\v' (0x0b) vertical tab (VT) 垂直制表符 '\f' (0x0c) feed (FF) 换页符 '\r' (0x0d) carriage return (CR) 回车符
转自:https://www.cnblogs.com/fightformylife/p/4361148.html
https://www.cnblogs.com/jeffhl/p/9881785.html
本文为转载文章,版权归原作者所有,不代表本站立场和观点。