string.h头文件函数

1. strlen()

  strlen 函数可以得到字符数组中第一个 \0 前的字符的个数,其格式如下:

strlen(字符数组)
#include <stdio.h>
#include <string.h>
int main() {
	char str[10];
	gets(str);
	int len = strlen(str);
	printf("%d\n", len);
	return 0;
}

输入字符串:

memeda

输出结果:

6

2. strcmp()

  strcmp 函数返回两个字符串大小的比较结果,比较原则是按字典序,其格式如下:

strcmp(字符数组1,字符数组2)

  所谓字典序就是字符串在字典中的顺序,因此如果有两个字符数组 str1 和 str2 ,且满足 str1[0 … k-1] == str2[0 … k-1]、str1[k] < str2[k],那么就说 str1 的字典序小于 str2。例如 “a” 的字典序小于 “b” 、 “aaaa” 的字典序小于 “aab” 。 strcmp 的返回结果如下:
  ①如果字符数组 1 < 字符数组 2 ,则返回一个负整数(不同编译器处理不同,不一定是 -1)。
  ②如果字符数组 1 == 字符数组 2 ,则返回 0 。
  ③如果字符数组 1 > 字符数组 2 ,则返回一个正整数(不同编译器处理不同,不一定是 +1)。
示例如下:

#include <stdio.h>
#include <string.h> 
int main() {
	char str1[50], str2[50];
	gets(str1);
	gets(str2);
	int cmp = strcmp(str1, str2);
	if(cmp < 0) printf("str1 < str2\n");
	else if(cmp > 0) printf("str1 > str2\n");
	else printf("str1 == str2\n");
	return 0;
}

输入字符串:

Dear Mozart
Canon

输出结果:

str1 > str2

3. strcpy()

  strcpy 函数可以把一个字符串复制给另一个字符串,其格式如下:

strcpy(字符数组 1, 字符数组 2)

把字符数组 2 复制给字符数组 1,这里的“复制”包括了结束符 \0。
示例如下:

#include <stdio.h>
#include <string.h>
int main() {
	char str1[50], str2[50];
	gets(str1);
	gets(str2);
	strcpy(str1, str2);
	puts(str1);
	return 0;
}

输入字符串:

Ineffabilis
Quo Vadis

输出结果:

Quo Vadis

4. strcat()

  strcat()可以把一个字符串接到另一个字符串后面,其格式如下:

strcat(字符数组1, 字符数组2)

把字符数组 2 接到字符数组 1 后面,示例如下:

#include <stdio.h>
#include <string.h>
int main() {
	char str1[50], str2[50];
	gets(str1);
	gets(str2);
	strcat(str1, str2);
	puts(str1);
	return 0;
}

输入字符串:

ArkLight
Through the Fire and Flames

输出结果:

ArkLightThrough the Fire and Flames

参考资料:《算法笔记》

猜你喜欢

转载自blog.csdn.net/qq_39131699/article/details/83095955