拷贝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:需要连接的原数据
示例代码
以指定格式写入字符串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:转换基数验证