首页 > 其他分享 >C语言中的vsnprintf函数

C语言中的vsnprintf函数

时间:2022-12-14 16:22:05浏览次数:60  
标签:vsnprintf char 函数 format args C语言 va 字符串

函数原型:

int vsnprintf(char* sbuf, size_t n, const char* format, va_list arg)

函数说明:该函数用于向一个字符串缓存区格式化打印字符串,且可以限定打印字符串的最大长度。该函数需要C99以上版本支持。

函数参数:

  • sbuf:指向存储生成的C字符串的缓存区的指针,缓存区的大小应至少为n个字符;
  • n:缓存区中可以存储的最大字节数,生成的字符串长度最多为n-1(为额外的终止符预留空间);
  • format:C 字符串,其中包含一个格式字符串,该字符串遵循与printf中的格式相同的规范;
  • arg:标识使用 va_start 初始化的变量参数列表的值。

函数返回值:

  如果足够大,则写入的字符数,不包括终止空字符。如果发生编码错误,则返回负数。请注意,仅当此返回值为非负值且小时,字符串才完全写入。

 

示例代码:

#include <stdio.h>
#include <stdarg.h>

void PrintFError ( const char * format, ... )
{
    char buffer[256];
    va_list args;
    va_start (args, format);
    vsnprintf (buffer,256,format, args);
    perror (buffer);
    va_end (args);
}

int main ()
{
    FILE * pFile;
    char szFileName[]="myfile.txt";

    pFile = fopen (szFileName,"r");
    if (pFile == NULL)
        PrintFError ("Error opening '%s'",szFileName);
    else
    {
        fclose (pFile);
    }
    return 0;
}        

 

标签:vsnprintf,char,函数,format,args,C语言,va,字符串
From: https://www.cnblogs.com/chanyuantiandao/p/16982478.html

相关文章

  • bashrc 配置文件自定义指南,如何快速cd到指定路径、添加别名、使用函数等
    目录bashrc配置文件是啥?自定义.bashrc配置文件的好处如何编辑bashrc配置文件使你的修改生效如何在.bashrc中使用别名——比如可以快速cd到某个路径起个别名——cdd,快速......
  • 7.python-函数练习2
    定义函数,将列表中大于某个值的元素设置为None"""定义函数,将列表中大于某个值的元素设置为None参数结......
  • 【Python 68个内置函数】
    内置函数就是Python给你提供的,拿来直接用的函数,比如print,input等。截止到python版本3.6.2,一共提供了68个内置函数,具体如下:abs()dict()help()......
  • 【Python内置函数map和zip+上下文管理器及其实现原理】
    一、map作用map:自动将可迭代对象遍历,把遍历出来的数据,当成参数传入map第一个接口的函数中,将函数执行的结果,放到一个迭代器中进行返回语法map(function,iterable,...)第......
  • 汉诺塔(C语言)
    汉诺塔(TowerofHanoi),又称河内塔,是一个源于印度​古老传说的益智玩具​。大梵天​创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大......
  • 牛牛的计划题(c语言解决)
    题目:描述牛牛有一个学习计划,他计划在y年m月d日开始学习,但在之前他是绝不会开始学习的,但是他一旦开始学习就不会停下来,请你判断y1年m1月d1日牛牛应该学习吗。输......
  • Basler相机C语言接口说明
    由于公司项目需要,使用了Basler相机。所以特写此文记录如何使用Basler相机进行采图。公司项目用的代码是不能贴出来的,所以在这篇文章里就不贴代码了,只做流程上的说明。本文......
  • 云函数添加外部依赖
    以华为云函数为例,使用python添加依赖需要先知道项目的层级结构Python项目结构:|---Project|---index.py比如该项目需要用到requests依赖,但云函数默认环境......
  • Glibc---__gen_tempname函数原理分析学习
    引言__gen_tempname是Glibc库stdio.h头文件中生成临时文件名的函数,包含了相关临时文件名的生成逻辑,我们来一起分析一下临时文件名的生成过程。__gen_tempname函数参数说明ch......
  • Go-15 Golang语言中time包以及日期函数
    packagemainimport( "fmt" "time")//Golangtime包以及日期函数funcmain(){ /* 1.time.Now()获取当前时间 2.Format方法会格式化输出日期字符串 3......