我是靠谱客的博主 淡淡音响,这篇文章主要介绍linux——snprintf()函数使用方法,现在分享给大家,希望可以做个参考。

前言

        ~~~~~~~        在查看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的大小是如何,都会在后面添加一个字符串结束符(’’)

实例

复制代码
1
2
3
4
5
6
7
8
9
10
11
#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()函数使用方法内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(130)

评论列表共有 0 条评论

立即
投稿
返回
顶部