免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1489 | 回复: 2
打印 上一主题 下一主题

[C] C语言中操作字符串的一些函数源代码[zt] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-06-19 19:41 |只看该作者 |倒序浏览
多人认为C语言中的难点是指针,对指针的理解直接关系到所编程序的好坏,所以,
在这里列举了一些C编译器通常都有的标准函数的源代码,看过它们,就能对指针和字符串
有所了解了.
1. strlen(),计算字符串长度
int strlen(const char string)
{
int i=0;
while(string) i++;
return i;
}
2. strcpy(), 字符串拷贝.
char *strcpy(char *destination, const char *source)
{
while(*destinaton++=*source++);
return (destination-1);
}
3. strcat(), 字符串的连接.
char *strcat(char *target,const char *source)
{
char *original=target;
while(*target) target++; // Find the end of the string
while(*target++=*source++);
return(original);
}
4. streql(), 判断两个字符串是否相等.
int streql(char *str1,char *str2)
{
while((*str1==*str2)&&(*str1))
{
str1++;
str2++;
}
return((*str1==NULL)&&(*str2==NULL));
}
5. strchr(), 在字符串中查找某个字符.
char *strchr(const char *string,int letter)
{
while((*string!=letter)&(*string))
string++;
return (string);
}
6. chrcnt(), 计算某个字符在字符串中出现的次数.
int chrcnt(const char *string,int letter)
{
int count=0;
while(*string)
if(*string==letter)count++;
return count;
}
7. strcmp(), 判断两个字符串是否相等.
int strcmp(const char *str1,const char *str2)
{
while((*str1==*str2)&&(*str1))
{
str1++;
str2++;
}
if((*str1==*str2)&&(!*str1)) //Same strings
return o;
else if((*str1)&&(!*str2)) //Same but str1 longer
return -1;
else if((*str2)&&(!*str1)) //Same but str2 longer
else
return((*str1>;*str2)?-1:1);
}

论坛徽章:
0
2 [报告]
发表于 2003-06-19 22:23 |只看该作者

C语言中操作字符串的一些函数源代码[zt]

指针和数组的区别就是
指针不拥有它指向的地址
数组拥有它指向的地址

指针只是起门牌作用,表示某个地址,可以变的
数组则是房子,是固定的,不可变的并且可以容纳东西

论坛徽章:
0
3 [报告]
发表于 2003-06-20 00:06 |只看该作者

C语言中操作字符串的一些函数源代码[zt]

原帖由 "无双" 发表:
指针和数组的区别就是
指针不拥有它指向的地址
数组拥有它指向的地址

指针只是起门牌作用,表示某个地址,可以变的
数组则是房子,是固定的,不可变的并且可以容纳东西
   
说的好透彻
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP