strcmp、strcpy、strstr、memcmp、memset等函数解释
- strstr()
作用:在字符串中查找指定子字符串的第一次出现位置。
示例:
char str[] = "Hello, World!";
char* substr = "World";
char* result = strstr(str, substr);
printf("Substring found at index: %ld\n", result - str); // Output: Substring found at index: 7
- strcpy():
作用:将一个字符串复制到另一个字符串。
示例:
char src[] = "Hello, World!";
char dest[20];
strcpy(dest, src);
printf("Copied string: %s\n", dest); // Output: Copied string: Hello, World!
- strncpy():
作用:将指定长度的一个字符串复制到另一个字符串。
示例:
char src[] = "Hello, World!";
char dest[10];
strncpy(dest, src, 5);
dest[5] = '\0'; // Manually add null terminator for safety
printf("Copied string: %s\n", dest); // Output: Copied string: Hello
- strcmp():
作用:比较两个字符串是否相等。
示例:
char str1[] = "Hello";
char str2[] = "Hello";
int result = strcmp(str1, str2);
if (result == 0) {
printf("Strings are equal.\n"); // Output: Strings are equal.
} else {
printf("Strings are not equal.\n");
}
- memset():
作用:将指定的值设置给一段内存块。
示例:
char str[10];
memset(str, 'A', 5);
printf("Memory block: %s\n", str); // Output: Memory block: AAAAA
- memcpy():
作用:将一个内存块的内容复制到另一个内存块。
示例:
char src[] = "Hello";
char dest[10];
memcpy(dest, src, strlen(src) + 1);
printf("Copied string: %s\n", dest); // Output: Copied string: Hello
- memcmp():
作用:比较两个内存块的内容是否相等。
示例:
char str1[] = "Hello";
char str2[] = "World";
int result = memcmp(str1, str2, strlen(str1));
if (result == 0) {
printf("Memory blocks are equal.\n");
} else {
printf("Memory blocks are not equal.\n"); // Output: Memory blocks are not equal.
}
- 其他类似的函数:
strchr(): 在字符串中查找指定字符的第一次出现位置。
strrchr(): 在字符串中查找指定字符的最后一次出现位置。
strcat(): 将一个字符串连接到另一个字符串的末尾。
strncat(): 将指定长度的一个字符串连接到另一个字符串的末尾。
strlen(): 返回字符串的长度。