概述
一:理论分析 snprintf。
参考案例:
https://blog.csdn.net/singledevil0/article/details/126344677?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22126344677%22%2C%22source%22%3A%22singledevil0%22%7Dhttps://blog.csdn.net/singledevil0/article/details/126344677?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22126344677%22%2C%22source%22%3A%22singledevil0%22%7D
snprintf和sprintf区别分析_喜欢打篮球的普通人的博客-CSDN博客_sprintf和snprintf的区别
【依赖头文件】
#include<stdio.h>
【函数原型】
int snprintf(char *str, size_t size, const char *format, …);
【函数参数】
str:目标字符串;size:拷贝字节数(Bytes); format:源字符串; …格式
【函数功能】
最多从源字符串format中拷贝size字节的内容(含字符串结尾标志’ ’)到目标字符串
The functions snprintf() write at most size bytes (including the terminating null byte (’ ’)) to str.
【返回值】
成功返回源串的长度(strlen, 不含’ ’)
失败返回负值
【例子及理解】
由于最多拷贝size个字节到目标字符串,那么通常目标字符串就设置成size大小就不会有越界问题
下面将目标字符串的长度设置为size大小,分别实验源串长度小于,等于,大于size的情况
【情形一】:源串小于目标字符串
实际上源串为:“123 ”,所以只将字符’1’,‘2’,‘3’, '