C语言 字符串处理相关函数大汇总之(6~10)

2023-12-17 11:29:42

6,strncmp函数:用于比较两个字符串的前n个字符。它的原型是:

int strncmp(const char *str1, const char *str2, size_t n);

这个函数接受三个参数:

(1),str1:第一个字符串。

(2),str2:第二个字符串。

(3),n:要比较的字符数。

strncmp函数比较两个字符串的前n个字符,并返回一个整数值,表示它们的比较结果。如果两个字符串的前n个字符相等,则返回0;如果第一个字符串的前n个字符小于第二个字符串的前n个字符,则返回一个负整数;如果第一个字符串的前n个字符大于第二个字符串的前n个字符,则返回一个正整数。

下面是一个使用strncmp函数的例子:

#include <stdio.h>  
#include <string.h>  
  
int main() {  
    char str1[] = "Hello";  
    char str2[] = "Hello World";  
    int result = strncmp(str1, str2, 5);  
      
    if (result == 0) {  
        printf("str1 and str2 are equal up to the first five characters.\n");  
    } else if (result < 0) {  
        printf("str1 is less than str2 up to the first five characters.\n");  
    } else {  
        printf("str1 is greater than str2 up to the first five characters.\n");  
    }  
      
    return 0;  
}

????????在这个例子中,我们声明了两个字符串str1str2,并将它们初始化为"Hello"和"Hello World"。然后,我们使用strncmp函数比较这两个字符串的前5个字符,并将结果存储在result变量中。最后,我们根据比较结果输出相应的信息。

7,sprintf函数:将格式化的数据写入到字符串中。它的原型是:

int sprintf(char *str, const char *format, ...);

这个函数接受两个参数:

(1),str:一个字符数组,用于存储格式化的数据。

(2),format:一个格式化字符串,指定了要写入的数据的格式。

sprintf函数将格式化的数据写入到str中,并返回写入的字符数(不包括字符串末尾的空字符)。

下面是一个使用sprintf函数的例子:

#include <stdio.h>  
  
int main() {  
    char str[50];  
    int a = 10;  
    float b = 3.14;  
    sprintf(str, "a = %d, b = %f", a, b);  
    printf("%s\n", str);  
    return 0;  
}

????????在这个例子中,我们声明了一个字符数组str,以及一个整数变量a和一个浮点数变量b。然后,我们使用sprintf函数将变量ab的格式化数据写入到str中。最后,我们使用printf函数输出字符串str

8,sscanf函数:用于从字符串中读取格式化的数据。它的原型是:

int sscanf(const char *str, const char *format, ...);

这个函数接受两个参数:

(1),str:一个包含要读取的格式化数据的字符串。

(2),format:一个格式化字符串,指定了要读取的数据的格式。

sscanf函数将按照format指定的格式从str中读取数据,并将结果存储在参数列表中。参数列表中的变量类型必须与格式化字符串中的格式匹配。

下面是一个使用sscanf函数的例子:

#include <stdio.h>  
  
int main() {  
    char str[] = "a = 10, b = 3.14";  
    int a;  
    float b;  
    sscanf(str, "a = %d, b = %f", &a, &b);  
    printf("a = %d, b = %f\n", a, b);  
    return 0;  
}

????????在这个例子中,我们声明了一个字符串str,其中包含要读取的格式化数据。然后,我们使用sscanf函数从str中读取数据,并将结果存储在整数变量a和浮点数变量b中。最后,我们使用printf函数输出读取到的数据。

9,strchr函数:用于在字符串中查找指定字符的首次出现。它的原型是:

char *strchr(const char *str, int c);

这个函数接受两个参数:

(1),str:要查找的字符串。

(2),c:要查找的字符。

strchr函数返回指向字符串str中第一个出现字符c的指针。如果字符串中不包含字符c,则返回NULL。

下面是一个使用strchr函数的例子:

#include <stdio.h>  
#include <string.h>  
  
int main() {  
    char str[] = "Hello, world!";  
    char c = 'o';  
    char *result = strchr(str, c);  
    if (result != NULL) {  
        printf("Found '%c' in '%s' at position %ld.\n", c, str, result - str);  
    } else {  
        printf("Character '%c' not found in '%s'.\n", c, str);  
    }  
    return 0;  
}

????????在这个例子中,我们声明了一个字符串str,其中包含要查找的字符。然后,我们使用strchr函数查找字符串中第一个出现字符c的位置,并将结果存储在指针变量result中。最后,我们检查result是否为NULL,并输出相应的信息。

10,strstr函数:用于在字符串中查找子字符串的首次出现。

char *strstr(const char *haystack, const char *needle);

这个函数接受两个参数:

(1),haystack:要查找的字符串。

(2),needle:要查找的子字符串。

strstr函数返回指向字符串haystack中第一个出现子字符串needle的指针。如果字符串中不包含子字符串,则返回NULL。

下面是一个使用strstr函数的例子:

#include <stdio.h>  
#include <string.h>  
  
int main() {  
    char str[] = "Hello, world!";  
    char sub[] = "world";  
    char *result = strstr(str, sub);  
    if (result != NULL) {  
        printf("Found substring '%s' in '%s' at position %ld.\n", sub, str, result - str);  
    } else {  
        printf("Substring '%s' not found in '%s'.\n", sub, str);  
    }  
    return 0;  
}

????????在这个例子中,我们声明了一个字符串str,其中包含要查找的子字符串。然后,我们使用strstr函数查找字符串中第一个出现子字符串的位置,并将结果存储在指针变量result中。最后,我们检查result是否为NULL,并输出相应的信息。

文章来源:https://blog.csdn.net/A185822153/article/details/135031296
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。