字符串长度strlen
头文件
#include <string.h>
函数声明
size_t strlen(const char *s);
返回值:long型的字符串长度
s:要计算长度的字符串,必须以' \0 '结尾
注意:strlen计算的长度是以' \0 '为结尾,而sizeof是计算整个数组大小。
一些特殊的符号:
\\:代表字符的 \
\ddd:代表一个八进制数
\xhh:代表一个十六进制数
示例1:strlen与sizeof的区别
示例2:有特殊符号的strlen返回值分析
拷贝strcpy
头文件
#include <string.h>
函数声明
char* strcpy(char* dest,const char* src);
返回值:dest的首地址
dest:拷贝到的目标地址
src:需要拷贝的原数据
示例代码
连接strcat
头文件
#include <string.h>
函数声明
char* strcat(char* dest, const char* src);
返回值:dest的首地址
dest:要连接的目标地址
src:需要连接的原数据
示例代码
比较strcmp
头文件
#include <string.h>
函数声明
int strcmp(const char *str1, const char *str2);
返回值:从左向右依次比较,大的返回正数、小的返回负数、相等返回0
str1、str2:要进行比较的字符串
注意:当比较到第一个不一样的时,strcmp就停止比较。这个大小值是ASCII码的大小值比较。
示例代码:
判断字符是否为字母isalpha
头文件
#include <ctype.h>
函数声明
int isalpha(int c);
返回值:0不是字母,非0是字母
c:需要进行判断的字符
示例代码:
判断字符是否为大写字母isupper
头文件
#include <ctype.h>
函数声明
int isupper(int c);
返回值:0不是大写字母,非0是大写字母
c:需要进行判断的字符
示例代码:
将小写字母转为大写字母toupper
头文件
#include <ctype.h>
函数声明
int toupper(int c);
返回值:转换后的结果,传入小写字母才正常转换,传入其他字符原样输出。
c:需要进行判断的字符
示例代码:
将大写字母转为小写字母tolower
头文件
#include <ctype.h>
函数声明
int tolower(int c);
返回值:转换后的结果,传入大写字母才正常转换,传入其他字符原样输出。
c:需要进行判断的字符
示例代码:
以指定格式写入字符串sprintf
1、sprintf
sprintf对写入的字符串是否越界没有保护,使用snprintf可以实现保护功能。
头文件:
#include <stdio.h>
函数声明:
int sprintf(char *str, const char *format, ...);
返回值:写入到str中的字符个数,不包括 ' \0 '
str:需要进行赋值的字符串
format:字符串格式,类似printf用双引号括起来,%d等获取后面填入的参数
示例代码1:实现整型转字符型
示例代码2:实现格式化输出日期
详细实现过程在博文:7.C_Demo_格式化打印当前时间-CSDN博客
2、snprintf
头文件:
#include <stdio.h>
函数声明:
int snprintf(char *str, size_t size, const char *format, ...);
返回值:写入到str中的字符个数,不包括 ' \0 '。当格式化的数据超出了size指定的容量时,返回一个大于或等于size的值
str:需要进行赋值的字符串
size:目标字符串str的最大容量,包括结尾的空字符('\0'
),写为sizeof(数组名)
format:字符串格式,类似printf用双引号括起来,%d等获取后面填入的参数
示例代码1:数据长度符合允许写入长度
示例代码2:数据长度大于允许写入长度
将字符串转换为整数
1、atoi
atoi
将转换字符串中的数字,直到遇到非数字字符。
头文件:
#include <stdlib.h>
函数声明:
int atoi(const char *str);
返回值:由字符串转换出来的整型数据。
str:要转换的字符串。必须是以' \0 '结尾,不能是字符数组
示例代码:
2、strtol
strtol能够以指定的基数,将字符串转为整数。
头文件:
#include <stdlib.h>
函数声明:
long int strtol(const char *str, char **endptr, int base);
返回值:转换的结果,此时endptr指向第一个非法字符位置。
str:要转换的字符串。必须是以' \0 '结尾,不能是字符数组
endptr:转换结束的位置,存储转换后的剩余字符串,可以写NULL
base:转换时使用的基数,可以是 0 到 36,0 表示自动检测基数。
示例代码1:endptr指向验证
示例代码2:转换基数验证