1. 常用字符串转换函数
1.1 atof 字符串 - 浮点数
函数类型:double atof(const char *nptr); //string to float;
头文件包含:<math.h>、<stdlib.h>;
返回值: 双精度浮点double类型数据;
转换说明:函数 atof( )将指定的字符串转换为双精度浮点数,字符串 nptr 必须是浮点数的字符表示格式。遇到不可识别的字符时转换结束。
参数 | 说明 |
---|---|
nptr | 要转换的字符串 |
注:双精度浮点类型长度0.000000,也就是如果要将1转换为double类型,那么输出的结果将是1.000000,。
1.2 atoi 字符串 - 整型
函数类型:int atoi(const char *nptr);
头文件包含:<math.h>、<stdlib.h>
返回值: int整型类型数据;
返回说明:成功转换,返回字符串的整数值,若无法转换,返回0。
转换说明:函数 atoi0将指定的字符串转换为整数,其中字符串 nptr 必须是整数字符的表示格式。遇到不可以识别的字符时转换结束。
参数 | 说明 |
---|---|
nptr | 要转换的字符串 |
注:
- “123.123” 转换后结果为123;
- “f457gf” 的转换结果返回0,因为该字符串中包含了非数字字符’f’。atoi函数只能将数字字符转换为整数,遇到非数字字符时会停止转换并返回结果;
- “57fg8t” 的转换结果为57。
1.3 strlwr 将字符串转换为小写形式
将字符串转换为小写的形式。
函数类型:charstrlwr(chars);
头文件包含:< string.h >;
返回值说明:返回指向转换后的字符串的指针。
参数 | 说明 |
---|---|
s | 要转换的字符串 |
2. 字符串复制
2.1 stpcpy 复制字符串函数
函数类型:char *stpcpy(char *destin, char *source);
头文件包含:<string.h>
返回值:返回目的字符串与源字符串长度的和,即 strlen( destin)+strlen( source)。
参数 | 说明 |
---|---|
destin | 目的字符串 |
source | 源字符串 |
示例:
// 示例
char string[30];
char *strl="Hello,world";
stpcpy(string,str1);
2.2 strcpy 复制字符串函数
函数类型:char *strcpy(char * destin, const char * source);
头文件包含:<string.h>;
返回值:返回字符串 destin;
参数 | 说明 |
---|---|
destin | 目的字符串 |
source | 源字符串 |
2.3 strncpy 复制字符串函数
字符串复制,将一串中指定数目的字符复制到另个串中。
函数类型:char *strncpy(char *destin, char *source, int maxlen);
头文件包含:<string.h>;
返回值类型:返回指向目的串的指针 destin。
参数 | 说明 |
---|---|
destin | 目的字符串 |
source | 源字符串 |
maxlen | 要复制的最大长度 |
3. 字符串拼接
3.1 strcat 拼接字符串
字符串拼接,将一个字符串添加到另一个字符串末尾。
函数类型:char *strcat(char *destin, char *source);
头文件包含:< string.h >;
返回值类型:返回一个字符串指针,它的值是由字符串 source 连接到 destin 之后形成的。
参数 | 说明 |
---|---|
destin | 目的字符串 |
source | 源字符串 |
3.2 strncat 字符串拼接
字符串拼接,将一个字符串添加到另一个字符串末尾。
函数类型:char *strncat(char *destin, char *source, size t maxlen);
头文件包含:< sting.h >;
返回值说明:返回一个字符串指针,它的值是由字符串 source 连接到 destin 之后形成的。
参数 | 说明 |
---|---|
destin | 目的字符串 |
source | 源字符串 |
maxlen | destin 字符串最终的最大长度 |
4. 字符串查找
4.1 strchr 查找给定的字符串
在一个字符串中查找给定字符的第一个匹配之处。
函数类型:char *strchr(char *str, char c);
头文件包含:<string.h>
返回值说明:在字符串 str 中寻找 c,并把第一次出现该字符的指针位置返回。若没有找到字符c,则返回空指针“0”或“NULL”。
参数 | 说明 |
---|---|
str | 要扫描的字符串 |
c | 给定一个需要查找的字符 |
5. 字符串比较
5.1 strcmp 比较字符串
比较两个字符串。
函数类型:int strcmp(char *str1, char *str2);
头文件包含:< string.h >
返回说明:返回0,表示字符串 str1 与 str2 相同;返回负数,表示字符串 str1<str2;返回正数,表示字符串 str1>str2,总之不为0不相等。
参数 | 说明 |
---|---|
str1 | 需要比较的字符串1 |
str2 | 需要比较的字符串2 |
注:在C语言中,字符串的大小规定如下。
(1)若两个字符串字符序列完全相同,则这两个字符串相等:
”CGVFFRT" = "CGVFFRT”;
(2) 开头字母的 ASCII码较小的字符串较小,如:
“apple”<“orange”,“Apple”>“apple”;
(3)开头字母相同,则比较第二个字母,第二个字母 ASCII码小的字符串较小;
(4)若两个字符串开始的一串字符相同,则较短的那个字符串较小;
(5)空字符串小于任何非空字符串。
5.2 strcmpi 比较两个字符串 不区分大小写
比较两个字符串 不区分大小写。
函数类型:int strncmpi(char *strl, char *str2);
头文件包含:< string.h >;
返回值:返回0,表示字符串 str1与 str2 相同; 返回负数,返回表示字符串 str1<str2; 返回正数,表示字符串 str1>str2。
参数 | 说明 |
---|---|
str1 | 需要比较的字符串1 |
str2 | 需要比较的字符串2 |
5.3 stricmp 比较字符串
字符串比较,不区分大小写。
函数类型:int stricmp(char *strl, char *str2);
头文件包含:< string.h >;
返回值:返回0,表示字符串 str1与 str2 相同; 返回负数,返回表示字符串 str1<str2; 返回正数,表示字符串 str1>str2。
参数 | 说明 |
---|---|
str1 | 需要比较的字符串1 |
str2 | 需要比较的字符串2 |
5.4 strncmp 字符串部分比较函数
将一字符串中的一部分与另一字符串的一部分比较。
函数类型:int strncmp(char *strl, char *str2, size_t maxlen);
头文件包含:<string.h>;
返回值说明:返回0,表示字符串 str1与 str2 相同;返回负数,表字符串str1<str2;返回正数,表示字符串str1>str2。
参数 | 说明 |
---|---|
str1 | 需要比较的字符串1 |
str2 | 需要比较的字符串2 |
maxlen | 需要比较的长度 |
注:函数 strncmp 比较两个字符串中的一部分,比较从第一个字符开始如果遇到对应的不同字符或参数 maxlen 指定的字符数已比较过,则结束较过程。
6. 获取字符串长度
6.1 strlen 获取字符长度
获取字符串长度。
函数类型:size_t strlen ( const char *str );
头文件包含:<string.h>;
返回值类型:无符号整型,size_t;
注:函数strlen 用于获取 str 字符串的长度字符串终止符 NULL不计入长度值。
6.2 sizeof 获取字符长度
用法同 strlen,不同的是终止符NULL(/0)会被计算在内(1byte)。
7. 字符串排列
7.1 字符串排列顺序倒叙
将一字符串的顺序倒叙逆转。
函数类型:char *strrev(char *str);
头文件包含:< string.h >;
返回值类型:返回指向结果字符串的指针,即逆转后的字符串。