C++,vsprintf 处理不断变化的参数数量和大幅面字符串
C++, vsprintf working with changing number of arguments and large format strings
我需要将各种格式的字符串打印到文件中。我将具有与每个字符串关联的整数,与每个字符串中的格式说明符相同数量的整数。大多数字符串不会具有相同数量的格式说明符/整数。
所以给定一个格式字符串,沿着 blah blah blah %d something else blah %hd blah blah blah %02hd blah %d
而包含需要进入此语句的四个整数的参数列表vsprintf
并行地通过参数列表和格式语句,将第一个列表项放在第一个说明符上,第二个项放在第二个说明符上,依此类推。还是会通过列表将所有项目放在第一个说明符上?
换句话说,以下两个语句是否等效?
sprintf(buffer,"blah blah blah %d something else blah %hd blah blah blah %02hd blah %d",a1,a2,a3,a4)
vsprintf(buffer,"blah blah blah %d something else blah %hd blah blah blah %02hd blah %d", args)
在vsprintf
args
将是一个va_list
. va_list args;
.
将
vsprintf
并行地处理参数列表和格式语句,将第一个列表项放在第一个说明符上,将第二个项放在第二个说明符上,[等等]
是的,这就是它将产生的结果。
还是会通过列表将所有项目放在第一个说明符上?
不。 如果这样做,vsprintf
将不是一个有用的功能。
相关文章:
- 使用 jsoncpp 解析 json 数组字符串
- C++ 对象数组字符串输入在控制台上不起作用
- 插入了 C++ 数组字符串数据,但在显示输出时不显示
- 无法将带有秒数的字符串转换为从epoch转换为date_time
- 无法区分 JSON 对象/数组/字符串
- 为什么数组(字符串类型)的大小是 24 字节,带有单个空格元素
- 如何使用数组字符串进行输入验证
- (C++) 打印字符数组字符串的单词时出现问题
- 如何比较显示差异数的字符串
- 使用Back_inserter从任何位置的输入字符中使用Back_inserter进行过滤数组字符串
- C 函数反转字符数组字符串
- 如何在 c++ 中创建数组(字符串 [] )的向量
- 如何返回数组字符串的指针
- char数组字符串混淆
- 如何从字符数组字符串中提取空格
- 是否可以将 Bitset<8> 的值复制到数组字符串而不转换它们?
- C++数组字符串函数
- 如何在函数中操作字符数组(字符串)的指针,该指针在C / C ++中作为参数传递
- visual将音频文件存储到数组/字符串流C++中
- c++在char数组(字符串)上将what替换为