C语言字符串函数集锦(一)

开发 后端
本文介绍的是C语言中的字符串函数,每个函数都介绍了用法,并举例介绍的。希望对大家有帮助,一起来看。

说起字符串函数,我想大家都不陌生。字符串函数对二进制数据、字符串和表达式执行不同的运算。下面总结了C语言中的字符串函数。

1、函数名: stpcpy

功 能: 拷贝一个字符串到另一个

用 法:

  1. char *stpcpy(char *destin, char *source);  

 

程序例:

 

  1. #include <stdio.h>   
  2. #include <string.h>   
  3. int main(void)   
  4. {   
  5. char string[10];   
  6. char *str1 = "abcdefghi";   
  7. stpcpy(string, str1);   
  8. printf("%s\n", string);   
  9. return 0;   
  10. }  

2、函数名: strcat

功 能: 字符串拼接函数

用 法:

  1. char *strcat(char *destin, char *source);  

 

程序例:

 

  1. #include <string.h>   
  2. #include <stdio.h>   
  3. int main(void)   
  4. {   
  5. char destination[25];   
  6. char *blank = " ", *c = "C++", *Borland = "Borland";   
  7. strcpy(destination, Borland);   
  8. strcat(destination, blank);   
  9. strcat(destination, c);   
  10. printf("%s\n", destination);   
  11. return 0;   
  12. }  

3、函数名: strchr

功 能: 在一个串中查找给定字符的第一个匹配之处\

用 法:

  1. char *strchr(char *str, char c);  

 

程序例:

 

  1. #include <string.h>   
  2. #include <stdio.h>   
  3. int main(void)   
  4. {   
  5. char string[15];   
  6. char *ptr, c = 'r';   
  7. strcpy(string, "This is a string");   
  8. ptr = strchr(string, c);   
  9. if (ptr)   
  10. printf("The character %c is at position: %d\n", c, ptr-string);   
  11. else   
  12. printf("The character was not found\n");   
  13. return 0;   
  14. }  

4、函数名: strcmp

功 能: 串比较

用 法:

  1. int strcmp(char *str1, char *str2);  

 

看Asic码,str1>str2,返回值 > 0;两串相等,返回0

程序例:

 

  1. #include <string.h>   
  2. #include <stdio.h>   
  3. int main(void)   
  4. {   
  5. char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc";   
  6. int ptr;   
  7. ptr = strcmp(buf2, buf1);   
  8. if (ptr > 0)   
  9. printf("buffer 2 is greater than buffer 1\n");   
  10. else   
  11. printf("buffer 2 is less than buffer 1\n");   
  12. ptr = strcmp(buf2, buf3);   
  13. if (ptr > 0)   
  14. printf("buffer 2 is greater than buffer 3\n");   
  15. else   
  16. printf("buffer 2 is less than buffer 3\n");   
  17. return 0;   
  18. }  

5、函数名: strncmpi

功 能: 将一个串中的一部分与另一个串比较, 不管大小写

用 法:

  1. int strncmpi(char *str1, char *str2, unsigned maxlen);  

 

程序例:

 

  1. #include <string.h>   
  2. #include <stdio.h>   
  3. int main(void)   
  4. {   
  5. char *buf1 = "BBB", *buf2 = "bbb";   
  6. int ptr;   
  7. ptr = strcmpi(buf2, buf1);   
  8. if (ptr > 0)   
  9. printf("buffer 2 is greater than buffer 1\n");   
  10. if (ptr < 0)   
  11. printf("buffer 2 is less than buffer 1\n");   
  12. if (ptr == 0)   
  13. printf("buffer 2 equals buffer 1\n");   
  14. return 0;   
  15. }  

6、函数名: strcpy

功 能: 串拷贝

用 法:

  1. char *strcpy(char *str1, char *str2);  

 

程序例:

 

  1. #include <stdio.h>   
  2. #include <string.h>   
  3. int main(void)   
  4. {   
  5. char string[10];   
  6. char *str1 = "abcdefghi";   
  7. strcpy(string, str1);   
  8. printf("%s\n", string);   
  9. return 0;   
  10. }  

#p#

7、函数名: strcspn

功 能: 在串中查找第一个给定字符集内容的段

用 法:

  1. int strcspn(char *str1, char *str2);  

 

程序例:

 

  1. #include <stdio.h>   
  2. #include <string.h>   
  3. #include <alloc.h>   
  4. int main(void)   
  5. {   
  6. char *string1 = "1234567890";   
  7. char *string2 = "747DC8";   
  8. int length;   
  9. length = strcspn(string1, string2);   
  10. printf("Character where strings intersect is at position %d\n", length);   
  11. return 0;   
  12. }  

8、函数名: strdup

功 能: 将串拷贝到新建的位置处

用 法:

  1. char *strdup(char *str);  

 

程序例:

 

  1. #include <stdio.h>   
  2. #include <string.h>   
  3. #include <alloc.h>   
  4. int main(void)   
  5. {   
  6. char *dup_str, *string = "abcde";   
  7. dup_str = strdup(string);   
  8. printf("%s\n", dup_str);   
  9. free(dup_str);   
  10. return 0;   
  11. }  

9、函数名: stricmp

功 能: 以大小写不敏感方式比较两个串

用 法:

  1. int stricmp(char *str1, char *str2);  

 

程序例:

 

  1. #include <string.h>   
  2. #include <stdio.h>   
  3. int main(void)   
  4. {   
  5. char *buf1 = "BBB", *buf2 = "bbb";   
  6. int ptr;   
  7. ptr = stricmp(buf2, buf1);   
  8. if (ptr > 0)   
  9. printf("buffer 2 is greater than buffer 1\n");   
  10. if (ptr < 0)   
  11. printf("buffer 2 is less than buffer 1\n");   
  12. if (ptr == 0)   
  13. printf("buffer 2 equals buffer 1\n");   
  14. return 0;   
  15. }  

 

10、函数名: strerror

功 能: 返回指向错误信息字符串的指针

用 法:

  1. char *strerror(int errnum);  

 

程序例:

 

  1. #include <stdio.h>   
  2. #include <errno.h>   
  3. int main(void)   
  4. {   
  5. char *buffer;   
  6. buffer = strerror(errno);   
  7. printf("Error: %s\n", buffer);   
  8. return 0;   
  9. }  

11、函数名: strcmpi

功 能: 将一个串与另一个比较, 不管大小写

用 法:

  1. int strcmpi(char *str1, char *str2);  

 

程序例:

 

  1. #include <string.h>   
  2. #include <stdio.h>   
  3. int main(void)   
  4. {   
  5. char *buf1 = "BBB", *buf2 = "bbb";   
  6. int ptr;   
  7. ptr = strcmpi(buf2, buf1);   
  8. if (ptr > 0)   
  9. printf("buffer 2 is greater than buffer 1\n");   
  10. if (ptr < 0)   
  11. printf("buffer 2 is less than buffer 1\n");   
  12. if (ptr == 0)   
  13. printf("buffer 2 equals buffer 1\n");   
  14. return 0;   
  15. }  

12、函数名: strncmp

功 能: 串比较

用 法:

  1. int strncmp(char *str1, char *str2, int maxlen);  

 

程序例:

 

  1. #include <string.h>   
  2. #include <stdio.h>   
  3. int main(void)   
  4. {   
  5. char *buf1 = "aaabbb", *buf2 = "bbbccc", *buf3 = "ccc";   
  6. int ptr;   
  7. ptr = strncmp(buf2,buf1,3);   
  8. if (ptr > 0)   
  9. printf("buffer 2 is greater than buffer 1\n");   
  10. else   
  11. printf("buffer 2 is less than buffer 1\n");   
  12. ptr = strncmp(buf2,buf3,3);   
  13. if (ptr > 0)   
  14. printf("buffer 2 is greater than buffer 3\n");   
  15. else   
  16. printf("buffer 2 is less than buffer 3\n");   
  17. return(0);   
  18. }  

接下一篇,C语言字符串函数集锦(二)

责任编辑:于铁 来源: 互联网
相关推荐

2011-07-15 12:41:53

C语言

2010-07-19 15:07:46

Perl字符串处理函数

2021-10-14 15:34:48

C语言字符串函数

2009-08-06 16:01:09

C#字符串函数大全

2014-01-02 16:14:10

PostgreSQL字符串

2022-11-10 07:43:45

2009-09-01 17:41:53

C#截取字符串函数

2010-10-09 11:54:46

MySQL字符串

2010-09-09 11:48:00

SQL函数字符串

2010-02-02 18:01:47

C++字符串替换函数

2009-11-24 09:55:44

PHP字符串函数

2023-03-21 15:27:00

RedisC语言字符串

2024-02-20 20:12:09

C语言字符串Redis

2024-05-30 12:17:25

2010-07-14 16:35:52

Perl字符串处理函数

2010-11-26 10:14:40

MySQL repla

2010-11-08 17:07:41

SQL Server字

2021-08-20 06:58:31

C++Python函数

2010-02-04 10:52:36

C++字符串分割函数

2009-08-07 14:46:59

C#匹配字符串
点赞
收藏

51CTO技术栈公众号