C语言实现去除字符串首尾空格

/*
C语言去除字符串首尾空格,trim()函数实现
https://blog.csdn.net/u013022032/article/details/50521465
*/ 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
#include <ctype.h> 

//去除尾部空白字符 包括	 
 
  
/*
标准的空白字符包括:
' '     (0x20)    space (SPC) 空格符
'	'    (0x09)    horizontal tab (TAB) 水平制表符    
'
'    (0x0a)    newline (LF) 换行符
'v'    (0x0b)    vertical tab (VT) 垂直制表符
'f'    (0x0c)    feed (FF) 换页符
'
'    (0x0d)    carriage return (CR) 回车符
//windows 
 linux 
 mac 

*/ 
char *rtrim(char *str) 
{ 
    if (str == NULL || *str == '') 
    { 
        return str; 
    } 
    int len = strlen(str); 
    char *p = str + len - 1; 
    while (p >= str && isspace(*p)) 
    { 
        *p = ''; --p; 
    } 
    return str; 
} 


//去除首部空格 
char *ltrim(char *str) 
{ 
    if (str == NULL || *str == '') 
    { 
        return str; 
    } 
    int len = 0; 
    char *p = str;
    while (*p != '' && 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
", str); 
    char *p = trim(str); 
    printf("after trim:%s
", p); 
} 

int main(int argc, char **argv) 
{ 
    demo(); 
    return 0; 
}
原文地址:https://www.cnblogs.com/frisk/p/11603321.html