C语言的字符串操作函数小结

一.strcat()函数

  char *strcat(char *dest, const char *src) 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾。它返回一个指向字符串dest首地址的指针。它的声明如下:

char *strcat(char *dest, const char *src)

实例如下:

#include <stdio.h>
#include <string.h> int main()
{
char dest[]="Who are you?", src[]="I am Jack";
strcat(dest, src); printf("%s\n", dest); return();
}

输出:

Who are you?I am Jack

  升级的函数 char *strncat(char *dest, const char *src, size_t n) 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾,直到 n 字符长度为止。其余和strcat()函数一样。

二.strchr()函数

  char *strchr(const char *str, int c) 在参数 str 所指向的字符串中搜索第一次出现字符 c(一个无符号字符)的位置。该函数返回在字符串 str 中第一次出现字符 c 的位置,如果未找到该字符则返回 NULL。它的声明如下:

char *strchr(const char *str, int c)

代码示例:

#include <stdio.h>
#include <string.h> int main()
{
char str[]="I am Jack";
char ch = 'a';
char *addr = strchr(str, ch); printf("找到:%c\n",*addr); return();
}

输出:

找到:a

三.strcmp()函数

   int strcmp(const char *str1, const char *str2) 把 str1 所指向的字符串和 str2 所指向的字符串进行比较。如果str1>str2则返回值>0,如果str1<str2则返回值>0,如果str1=str2则返回值=0。它的声明如下:

int strcmp(const char *str1, const char *str2)

如下实例:

#include <stdio.h>
#include <string.h> int main()
{
char str1[]="abcde";
char str2[]="ABCDE";
int ret; ret = strcmp(str1, str2); if (ret < )
{
printf("str1 小于 str2");
}
else if (ret > )
{
printf("str2 小于 str1");
}
else
{
printf("str1 等于 str2");
} return();
}

输出:

str2 小于 str1

  其升级版为 int strncmp(const char *str1, const char *str2, size_t n) 把 str1 和 str2 进行比较,最多比较前 n 个字节。

四.strcpy()函数

  char *strcpy(char *dest, const char *src) 把 src 所指向的字符串复制到 dest。其返回指向dest的指针。它的声明如下:

char *strcpy(char *dest, const char *src)

如下示例:

#include <stdio.h>
#include <string.h> int main()
{
char src[] ="Hello";
char dest[]="Who are you?";
strcpy(dest, src); printf("最终的目标字符串: %s\n", dest); return();
}

输出:

最终的目标字符串: Hello

  其升级版为char *strncpy(char *dest, const char *src, size_t n) 把 src 所指向的字符串复制到 dest,最多复制 n 个字符。

上一篇:svn用Cornerstone上传项目丢失静态库.a问题的解决


下一篇:BZOJ 2818 Gcd(欧拉函数+质数筛选)