目录
1.引言
2. snprintf函数
3.使用demo
1.引言
有时候我们在项目开发中需要把变量的值放在字符串中,即我们熟知的printf输出到终端的形式存放到字符数组中的需求。这个需求可以使用sprintf和snprintf函数实现。
2. snprintf函数
功能
格式化输出字符串,并将结果写入到指定的字符数组中,与sprintf函数不同的是,对写入的尺寸做了限定。
头文件
#include
函数原型
int snprintf ( char * str, size_t size, const char * format, … )参数说明
str — 目标字符串,用于存储格式化后的字符串的字符数组的指针。
size — 字符数组的大小。请注意此处是限定最大尺寸
format — 格式化字符串。
… — 可变参数,可变数量的参数根据 format 中的格式化指令进行格式化。
返回值
写入到字符数组中的字符个数,注意此处返回的是真实写入尺寸
3.使用demo
#include
typedef unsigned char uint8;
int mai服务器托管n(int argn, char* argv[])
{
char str1[100] = {0};
int a = -100;
uint8 u8 = 235U;
uint8 n = snprintf((char*)str1, 100, "input to str1's data is %d and %dn", a, u8);
printf("%dn%s",n,str1);
return 0;
}
ubuntu系统下的编译命令(gcc编译也可)
g++ snprintf.cpp -o snprintf
编译成功后运行
./snprintf
结果如下
root@xuehaiyang:/mnt/hgfs/99_github/cpp_demo# ./snprintf
37
input to str1's data is -服务器托管100 and 235
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net