在C中格式化字符串

时间:2014-09-09 12:18:42

标签: python c arrays string string-formatting

我想用C语言做类似的事情:

# This example is in Python language

var1 = 10
var2 = 45
var3 = 76

text = "Numbers are: %d, %d, %d." % (var1, var2, var3)

这可能在C?我想说一个纯C的解决方案,而不是C ++。 感谢。

编辑:

我不想直接打印字符串,我只想存储格式化的字符串。

3 个答案:

答案 0 :(得分:7)

使用snprintf()

int var1 = 10;
int var2 = 45;
int var3 = 76;
char text[100];

snprintf(text, sizeof text, "Numbers are: %d, %d, %d.", var1, var2, var3);

答案 1 :(得分:3)

最近的实施将是:

#include <stdio.h>

int main(void){
    char text[100];
    int var1 = 10;
    int var2 = 45;
    int var3 = 76;
    sprintf(text, "Numbers are : %d, %d, %d", var1, var2, var3);
}

答案 2 :(得分:0)

是的,可以在C

int main()
{
int var1,var2,var3;
var1 = 10;
var2 = 45;
var3 = 76;
printf("Numbers are: %d %d %d", var1, var2, var3);
return 0;
}

将format指向的C字符串写入标准输出(stdout)。如果format包含格式说明符(以%开头的子序列),格式化后面的附加参数将被格式化并插入到结果字符串中,替换它们各自的说明符。 有关printf()的更多详细信息,请访问以下链接: 参考:http://www.cplusplus.com/reference/cstdio/printf/对于C也是一样的