编程语言您现在的位置是:首页 > 博客日志 > 编程语言

c语言实现的trim函数,去掉字符串两端的空白字符

<a href='mailto:'>微wx笑</a>的头像微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;

功能:去掉字符串首尾的空格,换行符等空白。x62无知

代码:x62无知

#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   ";因为这是常量字符串,不能修改。
x62无知


x62无知

库函数 int isspace(int c)检查所传的字符是否是空白字符。x62无知

标准的空白字符包括:x62无知

' '     (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) 回车符


x62无知


x62无知

转自:https://www.cnblogs.com/fightformylife/p/4361148.html x62无知

https://www.cnblogs.com/jeffhl/p/9881785.html x62无知


x62无知


x62无知

本文为转载文章,版权归原作者所有,不代表本站立场和观点。

很赞哦! () 有话说 ()