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

本文详细解析了C语言中常见的字符串处理函数,如strlen、strcpy、strcat等,并提供了这些函数的标准实现源代码,帮助读者深入理解指针及字符串操作。
很多人认为C语言中的难点是指针,对指针的理解直接关系到所编程序的好坏,所以, 
在这里列举了一些C编译器通常都有的标准函数的源代码,看过它们,就能对指针和字符串有所了解了. 

1. strlen(),计算字符串长度 

int strlen(const char string) 

int i=0; 
while(string[i])
i++; 
return i; 


2. strcpy(), 字符串拷贝. 
char *strcpy(char *strDestination, const char *strSource)
  {
  assert(strDestination && strSource);
  char *strD=strDestination;
  while ((*strDestination++=*strSource++)!='\0')
  NULL;
  return strD;
  }
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 0; 
else if ((*str1)&&(!*str2)) //Same but str1 longer 
return -1; 

else if ((*str2)&&(!*str1)) //Same but str2 longer 

return 1;

else 
return ((*str1>*str2)?-1:1); 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值