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

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

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

1、函数名: stpcpy

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

用 法:

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

 

程序例:

 

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

2、函数名: strcat

功 能: 字符串拼接函数

用 法:

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

 

程序例:

 

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

3、函数名: strchr

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

用 法:

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

 

程序例:

 

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

4、函数名: strcmp

功 能: 串比较

用 法:

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

 

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

程序例:

 

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

5、函数名: strncmpi

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

用 法:

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

 

程序例:

 

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

6、函数名: strcpy

功 能: 串拷贝

用 法:

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

 

程序例:

 

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

#p#

7、函数名: strcspn

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

用 法:

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

 

程序例:

 

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

8、函数名: strdup

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

用 法:

char *strdup(char *str);  
  • 1.

 

程序例:

 

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

9、函数名: stricmp

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

用 法:

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

 

程序例:

 

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

 

10、函数名: strerror

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

用 法:

char *strerror(int errnum);  
  • 1.

 

程序例:

 

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

11、函数名: strcmpi

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

用 法:

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

 

程序例:

 

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

12、函数名: strncmp

功 能: 串比较

用 法:

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

 

程序例:

 

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

SQL函数字符串

2010-02-02 18:01:47

C++字符串替换函数

2010-10-09 11:54:46

MySQL字符串

2009-11-24 09:55:44

PHP字符串函数

2023-03-21 15:27:00

RedisC语言字符串

2024-02-20 20:12:09

C语言字符串Redis

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函数

2024-05-30 12:17:25

2010-02-04 10:52:36

C++字符串分割函数

2009-08-07 14:46:59

C#匹配字符串
点赞
收藏

51CTO技术栈公众号