C语言学,标准库 <string.h>

<string.h> 是 C 标准库中的一个头文件,它包含了一系列用于处理 C 字符串(以空字符 \0 结尾的字符数组)的函数。这些函数提供了字符串的复制、比较、连接、搜索、长度计算等功能。

<string.h> 常用函数说明:

字符串长度计算
size_t strlen(const char *str);
计算字符串 str 的长度(不包括终止的空字符)。

字符串复制
char *strcpy(char *dest, const char *src);
将字符串 src 复制到字符串 dest。
char *strncpy(char *dest, const char *src, size_t n);
将最多 n 个字符从字符串 src 复制到字符串 dest。如果 src 的长度小于 n,则在 dest 的剩余部分填充空字符。

字符串连接
char *strcat(char *dest, const char *src);
将字符串 src 连接到字符串 dest 的末尾。
char *strncat(char *dest, const char *src, size_t n);
将最多 n 个字符从字符串 src 连接到字符串 dest 的末尾。

字符串比较
int strcmp(const char *str1, const char *str2);
比较字符串 str1 和 str2。返回值小于、等于或大于 0 分别表示 str1 小于、等于或大于 str2。
int strncmp(const char *str1, const char *str2, size_t n);
比较最多 n 个字符的字符串 str1 和 str2。

字符串搜索
char *strchr(const char *str, int c);
在字符串 str 中搜索字符 c 的第一次出现。
char *strrchr(const char *str, int c);
在字符串 str 中搜索字符 c 的最后一次出现。
char *strstr(const char *str1, const char *str2);
在字符串 str1 中搜索字符串 str2 的第一次出现。

字符串分割
char *strtok(char *str, const char *delim);
用分隔符 delim 分割字符串 str。该函数会修改 str,并返回一个指向第一个标记的指针。
char *strtok_r(char *str, const char *delim, char **saveptr);
与 strtok 类似,但线程安全,使用 saveptr 保存状态。

字符串错误处理
void strerror(int errnum, char *buf, size_t buflen);
将错误号 errnum 转换为对应的错误信息字符串,并存储在 buf 中。注意:这是 POSIX 标准的一部分,可能不在所有 C 标准库中可用。

内存设置和比较
void *memset(void *s, int c, size_t n);
将内存块 s 的前 n 个字节设置为字符 c(转换为无符号字符)。
int memcmp(const void *s1, const void *s2, size_t n);
比较内存块 s1 和 s2 的前 n 个字节。    

示例1:

#include <stdio.h>
#include <string.h>
int main() {
    char str1[] = "Hello";
    char str2[] = "World";

    int result = strcmp(str1, str2);
    if (result == 0) {
        printf("Strings are equal\n");
    } else {
        printf("Strings are not equal\n");
    }

    return 0;
}

示例2:

#include <stdio.h>
#include <string.h>
int main() {
    char src[] = "Hello, World!";
    char dest[50];

    strcpy(dest, src);
    printf("Copied string: %s\n", dest);

    return 0;
}

猜你喜欢

转载自blog.csdn.net/xuann/article/details/143377260