您的位置:首页 > 编程语言 > C语言/C++

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

2012-05-13 10:45 344 查看
很多人认为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);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: