当前位置:首页C语言 > 正文

C语言头文件 < string.h >内容

作者:野牛程序员:2023-11-17 09:25:37C语言阅读 2892

C语言头文件<string.h>包含了许多字符串处理相关的函数和宏。以下是一些常用的函数和宏:

  • *strlen(const char str): 返回字符串的长度,不包括 null 终止字符。

  • **strcpy(char dest, const char src): 复制一个字符串(包括 null 终止符)。

  • **strcat(char dest, const char src): 将源字符串追加到目标字符串的末尾。

  • **strcmp(const char str1, const char str2): 比较两个字符串。返回值小于、等于、或大于零,分别表示 str1 小于、等于、或大于 str2。

  • *strchr(const char str, int c): 在字符串中查找字符 c 的第一次出现,返回指向该字符的指针。

  • **strstr(const char haystack, const char needle): 在字符串中查找子串 needle 的第一次出现,返回指向该子串的指针。

  • **strtok(char str, const char delimiters): 分解字符串为一系列标记,使用给定的分隔符。

  • *memset(void ptr, int value, size_t num): 将指定内存块的前 num 个字节设置为特定值。

  • **memcpy(void dest, const void src, size_t num): 从源内存复制 num 个字节到目标内存。

  • **memcmp(const void ptr1, const void ptr2, size_t num): 比较两个内存区域的前 num 个字节。

  • **memmove(void dest, const void src, size_t num): 将内存区域从源地址移动到目标地址,处理重叠情况。

此外,<string.h> 还定义了一些处理字符的宏,如 isalpha、isdigit、isspace 等,用于检查字符的属性。


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

int main() {
    // 使用 <string.h> 头文件中的一些函数和宏的示例

    // strlen示例
    char str1[] = "Hello, World!";
    size_t length = strlen(str1);
    printf("Length of str1: %zu\\n", length);

    // strcpy示例
    char str2[20];
    strcpy(str2, str1);
    printf("Copied string: %s\\n", str2);

    // strcat示例
    strcat(str2, " Welcome!");
    printf("Concatenated string: %s\\n", str2);

    // strcmp示例
    int result = strcmp(str1, str2);
    printf("String comparison result: %d\\n", result);

    // strchr示例
    char *ptr = strchr(str2, 'o');
    if (ptr != NULL) {
        printf("Found 'o' at position: %ld\\n", ptr - str2);
    }

    // strstr示例
    char *substring = strstr(str2, "Welcome");
    if (substring != NULL) {
        printf("Found 'Welcome' at position: %ld\\n", substring - str2);
    }

    // strtok示例
    char sentence[] = "This is a sample sentence.";
    char *token = strtok(sentence, " ");
    while (token != NULL) {
        printf("Token: %s\\n", token);
        token = strtok(NULL, " ");
    }

    // memset示例
    char buffer[10];
    memset(buffer, 'A', sizeof(buffer));
    printf("Buffer after memset: %s\\n", buffer);

    // memcpy示例
    char source[] = "Copy me!";
    char destination[20];
    memcpy(destination, source, strlen(source) + 1);
    printf("Copied string using memcpy: %s\\n", destination);

    // memcmp示例
    int compareResult = memcmp(str1, str2, strlen(str1));
    printf("Memory comparison result: %d\\n", compareResult);

    // memmove示例
    char buffer1[] = "Move me!";
    memmove(buffer1 + 3, buffer1, 5);
    printf("After memmove: %s\\n", buffer1);

    return 0;
}

此代码演示了如何使用 <string.h> 头文件中的一些字符串处理函数和宏。请注意,这只是示例代码,实际使用时需要根据具体情况进行适当的错误处理和边界检查。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击