概述
前言
~~~~~~~
在查看hi3516a开发板资料的源码时,有一个函数snprintf()函数,不是太明白,故本文对这个函数进行学习和记录。
snprintf()函数解析
~~~~~~~
snprintf(),函数原型为int snprintf(char *str, size_t size, const char *format, …)。
头文件:#include <stdio.h>
将可变参数 “…” 按照format的格式格式化为字符串,然后再将其拷贝至str中。
将可变个参数(…)按照format格式化成字符串,然后将其复制到str中
(1) 如果格式化后的字符串长度 < size,则将此字符串全部复制到str中,并给其后添加一个字符串结束符(’ ’);
(2) 如果格式化后的字符串长度 >= size,则只将其中的(size-1)个字符复制到str中,并给其后添加一个字符串结束符(’ ’),返回值为欲写入的字符串长度。
注意:无论格式化后的字符串长度与size的大小是如何,都会在后面添加一个字符串结束符(’ ’)。
实例
#include<stdio.h>
#include<stdlib.h>
int main()
{
char str[15]={0};
int n=snprintf(str,sizeof(str),"12345%d67890%s1234",777,"abc");
printf("str=%sn",str);
printf("n=%dn",n);
return 0;
}
如上图,只打印了size的长度15(14个字符加+ 一个 ),函数的返回值确是整个字符的总长度20。
最后
以上就是淡淡音响为你收集整理的linux——snprintf()函数使用方法的全部内容,希望文章能够帮你解决linux——snprintf()函数使用方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复