代码出处:新浪微博
今天在微博上发现了一个比较有意思的trim代码,对于指针理解不深,可能看着会很绕!!在此和大家分享一下。。
这段代码的关键之处就是3个指针操作同一块内存。。
代码如下
#define LEN 100
#define IS_SPACE(c)(c==' '||c=='\t')
void trim(char *str)
{
char *pcopy,*ptail;
if(!str)
return;
for(pcopy=str;*str&&IS_SPACE(*str);str++)
;
for(ptail=pcopy;*str;str++)
{
*pcopy++ =*str;
if(!IS_SPACE(*str))
ptail=pcopy;
*ptail=0;
}
}
注:trim函数实现的是输入字符串前后去空格
本文介绍了一段在C语言中实现字符串两端去除空白字符的trim函数。通过三个指针操作同一块内存区域来达到目的,具体包括跳过起始空白、复制非空白字符并标记尾部。
1120

被折叠的 条评论
为什么被折叠?



