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

C 中string的常用函数总结

作者:野牛程序员:2023-06-28 09:35:06C语言阅读 2616

在C语言中,有许多用于处理字符串的常用函数。以下是一些常见的字符串函数总结:

  1. strlen(const char *str):返回字符串的长度,即字符的个数(不包括空字符'\\0')。

  2. strcpy(char *dest, const char *src):将字符串src复制到dest,包括空字符'\\0',并返回dest。

  3. strncpy(char *dest, const char *src, size_t n):将字符串src的前n个字符复制到dest,如果src长度小于n,则在dest的剩余位置添加空字符'\\0'。

  4. strcat(char *dest, const char *src):将字符串src连接到dest的末尾,包括空字符'\\0',并返回dest。

  5. strncat(char *dest, const char *src, size_t n):将字符串src的前n个字符连接到dest的末尾,如果src长度小于n,则在dest的剩余位置添加空字符'\\0'。

  6. strcmp(const char *str1, const char *str2):比较字符串str1和str2的大小关系,如果相等则返回0,如果str1小于str2则返回负数,如果str1大于str2则返回正数。

  7. strncmp(const char *str1, const char *str2, size_t n):比较字符串str1和str2的前n个字符的大小关系,如果相等则返回0,如果str1小于str2则返回负数,如果str1大于str2则返回正数。

  8. strchr(const char *str, int c):在字符串str中查找字符c的第一个出现位置,并返回该位置的指针。如果没有找到,则返回NULL。

  9. strrchr(const char *str, int c):在字符串str中查找字符c的最后一个出现位置,并返回该位置的指针。如果没有找到,则返回NULL。

  10. strstr(const char *haystack, const char *needle):在字符串haystack中查找字符串needle的第一次出现位置,并返回该位置的指针。如果没有找到,则返回NULL。

  11. strtok(char *str, const char *delimiters):将字符串str按照delimiters中指定的分隔符进行分割,并返回每个分割后的子字符串。第一次调用时,str参数为待分割的字符串,后续调用时,str参数传入NULL。

  12. sprintf(char *str, const char *format, ...):将格式化的数据按照指定的格式写入字符串str中。

这只是一些常见的字符串函数,C语言中还有其他更多的字符串处理函数可用。请注意,在使用这些函数时,要确保操作的字符串以及相关缓冲区具有足够的空间,以避免缓冲区溢出等问题。

当涉及到字符串函数的使用时,以下是一些常见的示例代码:

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

int main() {
    char str1[20] = "Hello";
    char str2[20] = "World";
    char str3[20];
    int len;

    // 使用 strlen 函数获取字符串长度
    len = strlen(str1);
    printf("Length of str1: %d\\n", len);

    // 使用 strcpy 函数复制字符串
    strcpy(str3, str1);
    printf("Copied string: %s\\n", str3);

    // 使用 strcat 函数连接字符串
    strcat(str1, " ");
    strcat(str1, str2);
    printf("Concatenated string: %s\\n", str1);

    // 使用 strcmp 函数比较字符串
    int result = strcmp(str1, str2);
    if (result == 0) {
        printf("Strings are equal\\n");
    } else if (result < 0) {
        printf("str1 is less than str2\\n");
    } else {
        printf("str1 is greater than str2\\n");
    }

    // 使用 strchr 函数查找字符位置
    char *ptr = strchr(str1, 'o');
    if (ptr != NULL) {
        printf("Found 'o' at position: %ld\\n", ptr - str1);
    } else {
        printf("Character not found\\n");
    }

    // 使用 strtok 函数分割字符串
    char sentence[] = "This is a sentence";
    char *token = strtok(sentence, " ");
    while (token != NULL) {
        printf("Token: %s\\n", token);
        token = strtok(NULL, " ");
    }

    return 0;
}

上述示例代码演示了一些常见的字符串函数的用法,包括获取字符串长度、复制字符串、连接字符串、比较字符串、查找字符位置以及分割字符串。请注意,示例中的字符串数组都有足够的空间来容纳相应的字符串和操作结果。

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

最新推荐

热门点击