#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//去除尾部空白字符 包括\t \n \r
/*
标准的空白字符包括:
' ' (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) 回车符
//windows \r\n linux \n mac \r
*/
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;
}
int main(){
char dbsname[] = "abc1 23 ";
char *c;
int m ;
for ( m=0; m<20 ;m++){
c=&dbsname[m];
printf("%c,%d-------\n",*c,*c);
}
printf("%s",dbsname);
char *p = rtrim(dbsname);
printf("%s\n",p);
for ( m=0; m<20 ;m++){
printf("%c,%d-------\n",*p,*p);
p++;
}
}
C语言去掉字符串末尾的空白字符
于 2022-06-07 17:18:39 首次发布