Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1184999
  • 博文数量: 233
  • 博客积分: 6270
  • 博客等级: 准将
  • 技术积分: 1798
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-26 08:32
文章分类

全部博文(233)

文章存档

2011年(31)

2010年(202)

我的朋友

分类: C/C++

2010-08-19 15:17:44

作者:终南   <>
 
 
C语言的标准库中缺少对字符串进行操作的trim()函数,使用起来有些不便,可以使用利用 strlen 和 isspace 函数以及指针来自己写一个。
1、strlen 函数
原型:extern int strlen(char *s);
       
用法:#include
功能:计算字符串s的长度
说明:返回s的长度,不包括结束符NULL。
2、isspace 函数
原型:extern int isspace(int c);
用法:#include
功能:判断字符c是否为空白符
说明:当c为空白符时,返回非零值,否则返回零。
   空白符指空格、水平制表、垂直制表、换页、回车和换行符。
3、trim 函数
#include
#include
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;
}
4、应用举例
int main()
{
int i = 0;
char strs[][128] = {
   NULL,
   "",
   " ",
   "hello world",
   " hello",
   "hello world ",
   " hello world ",
   "\t\n\thello world ",
   "END"
};
do
{
        printf("trim(\"%s\")=%s.\n", strs[i], trim(strs[i]));
}while(strcmp(strs[i++], "END"));
        return 0;
}
阅读(755) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~