C中 strcmp() 与 strcpy()

 头文件: #include <string.h>

一、strcmp() 函数

函数原型:

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

参数

  • str1 -- 要进行比较的第一个字符串。
  • str2 -- 要进行比较的第二个字符串。

返回值

该函数返回值如下:

  • 如果返回值 < 0,则表示 str1 小于 str2。
  • 如果返回值 > 0,则表示 str1 大于 str2。
  • 如果返回值 = 0,则表示 str1 等于 str2。

即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如:

1."A"<"B" 2."A"<"AB" 3."Apple"<"Banana" 4."A"<"a" 5."compare"<"computer"

二、strcpy() 函数

函数原型:

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

功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间;

说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。

返回指向dest的指针。

//C语言标准库函数strcpy的一种典型的工业级的最简实现。
 
 
//返回值:目标串的地址。
 
 
//对于出现异常的情况ANSI-C99标准并未定义,故由实现者决定返回值,通常为NULL。
 
 
//参数:des为目标字符串,source为原字符串。
 
 
char* strcpy(char* des,const char* source)
 
 
{
 
 char* r=des;
   
   
assert((des != NULL) && (source != NULL));
 
 
while((*r++ = *source++)!='\0');
 
 
return des;
 
}
 
 
 
//while((*des++=*source++));的解释:赋值表达式返回左操作数,所以在赋值'\0'后,循环停止。

示例代码:

#include <stdio.h>
#include <string.h>

int main()
{
	char src[40];
	char dest[100];

	memset(dest, '\0', sizeof(dest));
	strcpy(src, "This is runoob.com");
	strcpy(dest, src);

	printf("最终的目标字符串: %s\n", dest);

	return(0);
}

运行结果:

参考:

strcpy

strcmp

C 库函数 - strcpy()

发布了76 篇原创文章 · 获赞 32 · 访问量 7936

猜你喜欢

转载自blog.csdn.net/wuwuku123/article/details/103705716
今日推荐