我可以像 printf 一样存储格式化字符串吗?

标签 c string string-formatting

在 C 中是否有一种方法可以像在 printf 中一样格式化字符串,但将其存储在变量中?我正在尝试将其用于系统调用,因此我可以在调用中包含一个变量。

最佳答案

您可以使用sprintf (或 C99/C11 中的 snprintf)在使用字符串之前格式化它。

int sprintf(char *str, const char *format, ...);
int snprintf(char *str, size_t size, const char *format, ...); 

示例:

 // Use the value of an integer 'n' as argument in 'perror' (C99).

#include <limits.h>
#include <stdio.h>

char argument[sizeof(int) * CHAR_BIT + 1];
snprintf(argument, sizeof argument, "%d", n);
perror(argument);

关于我可以像 printf 一样存储格式化字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16969397/

相关文章:

objective-c - Objective C : Names, 绑定(bind)和范围

c - 与 malloc 相关的逻辑错误

php - 维基百科使用什么进行文本和修订差异

R:将 "special"字母转换为 UTF-8?

c# - 重新格式化字符串以逗号分隔和格式化

谁能帮我用递归解决这个问题?

c++ - 两次连续的套接字读取,第二次读取不起作用

java - 尝试显示 ArrayList 的内容。获取 [Ljava.lang.String;@232204a1

javascript - Jquery仅转义字符串的一部分

python - 如何在模拟 int 的类上支持 %x 格式