c语言出现开头结尾多空格,C语言除去字符串开头和末尾空格之trim()函数的实现...

Trim()函数功能除去字符串开头和末尾的空格或其他字符,函数执行成功时返回删除了字符串首部和尾部空格的字符串。

char *trim(char *str)

C语言标准库中并没有trim()函数,比较遗憾,那么我们就来实现一个,哈哈。

一、 具体实现代码

#include

#include

#include

// delete the front whitespace

char *left_trim(char *str)

{

char *beginp = str;

char *tmp = str;

while(isspace(*beginp)) beginp++;

while((*tmp++ = *beginp++));

return str;

}

// delete the back whitespace

char *right_trim(char *str)

{

char *endp;

size_t len = strlen(str);

if(len == 0) return str;

endp = str + strlen(str) - 1;

while(isspace(*endp)) endp--;

*(endp + 1) = '\0';

return str;

}

char *trim(char *str)

{

str = left_trim(str);

str = right_trim(str);

return str;

}

int main(void)

{

char *src[] =

{

" hello world ",

" hello world",

"hello world ",

"hello world",

"",

NULL

};

char result[1024];

for(int index = 0; src[index] != NULL; index++)

{

strcpy(result, src[index]);

printf("[%s] -> [%s]\n", src[index], trim(result));

}

return 0;

}

二、 运行结果

[ycxie@fedora Workspace]$ gcc string_trim.c -o string_trim -Wall

[ycxie@fedora Workspace]$ ./string_trim

[ hello world ] -> [hello world]

[ hello world] -> [hello world]

[hello world ] -> [hello world]

[hello world] -> [hello world]

[] -> []

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值