关于string.h中字符串的操作

时间:2023-03-08 16:45:17
关于string.h中字符串的操作

 string.h中字符操作的函数

注意:**对字符数组的多次操作需要进行赋初值。或者善于用memset()函数进行清空数组的操作。**     否则容易出现错误。 string.h文件中函数的用法加上本人的个人见解。    标注有返回值的 返回值都是会用到的   如果没标注返回值则说明返回值不常用。

1、函数名:strcpy  字符串拷贝  (注意:该函数 只允许把指针拷贝到数组中,或者数组拷贝到数组中, 不允许把任何东西拷贝到指针中,如果要想拷贝到指针中可以进行复制运算‘=’。使用 ‘=’的话只能把指针付给指针才能达到字符串复制的效果,如果是数组的话只能复制一个 字符。)

函数原型: char *strcpy(char *str1,char const *str2);

<-------<------<-----<-----<-----------

2、函数名:strcat            字符串连接

char *strcat(char *destin, char const *source);

<-------<----

3、函数名:strchr              查找给定字符所在字符串中的位置

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

返回值为 真 说明 已   查找到  该字符;

返回值为 假 说明 没有 查找到  该字符。

4、函数名:strcmp            字符串比较

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

返回值为  0  的话说明两个 字符串  相等;

返回值  >0  的话说明    str1>str2;

5、函数名:strncmp              字符串前N个字节比较

int *strncmp(char str1,str2,unsigend maxle);

返回值为  0  的话说明两个字符串   相等;

返回值为    >0    的话说明    str1>str2;

返回值为    <0    的话说明    str1<str2;

6、函数名:strcspn            查找字符串中第一个给定字符集内容段

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

返回值为  查到的  第一个字符   所在的位置。

7、函数名:strdup             将字符串拷贝到新建的字符串中

char *strdup(char *str) ;

返回值   为       str字符串中的内容

8、函数名:stricmp             以大小写不敏感的方式比较两字符串

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

返回值同strcmp()  ,strncmp() ;

9、函数名:strerror            返回指向错误信息的指针

char *strerror(int errnum);

使用实例:char *buf= NULL;

buf = strerror(errno);

返回值错误的信息。

10、函数名:strncpy             复制字符串前N个字节

char *strncpy(char *str1,char const *str2,int n);

返回值为 *str1  .

11、函数名:strnicmp             比较字符串前 n 个字节的大小  (不区分大小写)

int strnicmp(char *str1,char *str2);

返回值同 stricmp。

12、函数名:strnset             将一个字符串的前n个字符都设为指定字符

char *strnect(char *str,char ch,unsigned n);

13、函数名:strpbrk             在字符串str1中找str2任意一个字符最先出现的位置

char *strpbrk(char *str1,char *str2);

返回值 如果有则返回  str1中第一个匹配的字符以及之后的字符组成的字符串。

(可以自己练习一下,打印一下返回值,同样所有的函数都可以自己打印一下返回值。)

返回值 如果没有  则返回NULL

14、函数名:strrchr             在字符串中查找字符最后出现的位置

char *strrchr(char *str1,char ch);

返回值  如果有则返回 包含最后一个匹配的字符与其后面的字符组成的字符串 的指针。

返回值  如果没有则返回  false

15、函数名:strrev             将一个字符串的顺序颠倒过来

char * strrev(char *str);

返回值  颠倒顺序之后的字符串的指针。

16、strset    将一个字符串所有的字符全部都设置为一个字符

char *strset(char *str,char ch);

返回值  为替换后的字符串。

17、strspn    

功 能: 在串中查找指定字符集的子集的第一次出现   

用 法: int strspn(char *str1, char *str2);

18、strstr  

功 能: 在串中查找指定字符串的第一次出现   

用 法: char *strstr(char *str1, char *str2);

返回包括找到的那个字符串以及之后的字符串组合成的字符串的指针;

19、strtod  

功 能: 将字符串转换为double型值   

用 法: double strtod(char *str, char **endptr);

20、strtok    

功 能: 查找由在第二个字符串中指定的分界符分隔开的单词   

用 法: char *strtok(char *str1, char *str2)

21、strtol   

功 能: 将串转换为长整数   

用 法: long strtol(char *str, char **endptr, int base);

22、strupr    

功 能: 将字符串中的小写字母转换为大写字母   

用法: char *strupr(char *str);

返回转换后的字符串的指针。

23、swab    

功 能: 交换相邻的两个字节(交换to里面的字节,并且存储到from里面,

第三个参数是to里面的字节数)。

用 法: void swab (char *from, char *to, int nbytes)