<string.h> 是 C 语言标准库中的头文件,提供了一系列用于字符串操作的函数和宏。这些函数包括字符串的复制、连接、比较、搜索等操作。

以下是 <string.h> 中一些常见的函数和宏:

1. 字符串复制和连接:
   - strcpy(char *dest, const char *src):将字符串 src 复制到字符串 dest。
   - strncpy(char *dest, const char *src, size_t n):将字符串 src 的前 n 个字符复制到字符串 dest。
   - strcat(char *dest, const char *src):将字符串 src 连接到字符串 dest 的末尾。
   - strncat(char *dest, const char *src, size_t n):将字符串 src 的前 n 个字符连接到字符串 dest 的末尾。

2. 字符串比较:
   - strcmp(const char *str1, const char *str2):比较字符串 str1 和 str2。
   - strncmp(const char *str1, const char *str2, size_t n):比较字符串 str1 和 str2 的前 n 个字符。

3. 字符串搜索和查找:
   - strlen(const char *str):返回字符串 str 的长度(不包括 null 终止符)。
   - strchr(const char *str, int c):在字符串 str 中查找字符 c 的第一个匹配位置。
   - strrchr(const char *str, int c):在字符串 str 中查找字符 c 的最后一个匹配位置。
   - strstr(const char *haystack, const char *needle):在字符串 haystack 中查找子字符串 needle 的第一次出现。

4. 字符串操作:
   - memset(void *ptr, int value, size_t num):将指定的值复制到指定的内存区域。
   - memcpy(void *dest, const void *src, size_t n):将内存区域 src 的前 n 个字节复制到内存区域 dest。
   - memmove(void *dest, const void *src, size_t n):与 memcpy 类似,但处理重叠的内存区域。

以下是一个简单的例子,演示了 <string.h> 中的一些基本用法:
#include <stdio.h>
#include <string.h>

int main() {
    // 字符串复制和连接
    char dest[20] = "Hello, ";
    const char *src = "world!";
    strcat(dest, src);
    printf("Concatenated String: %s\n", dest);

    // 字符串比较
    const char *str1 = "apple";
    const char *str2 = "banana";
    int result = strcmp(str1, str2);
    if (result < 0) {
        printf("%s comes before %s\n", str1, str2);
    } else if (result > 0) {
        printf("%s comes after %s\n", str1, str2);
    } else {
        printf("%s is equal to %s\n", str1, str2);
    }

    // 字符串搜索和查找
    const char *haystack = "Hello, world!";
    const char *needle = "world";
    char *result_ptr = strstr(haystack, needle);
    if (result_ptr != NULL) {
        printf("Found substring at position: %ld\n", result_ptr - haystack);
    } else {
        printf("Substring not found\n");
    }

    return 0;
}

在这个例子中,我们使用了 <string.h> 中的函数来进行字符串的连接、比较、搜索等操作。这些函数是 C 语言中处理字符串的基础工具。


转载请注明出处:http://www.zyzy.cn/article/detail/3212/C语言