像printf函数一样构建字符串

Yur*_*yak 5 c++ string printf

printf("%d.%d.%d", year, month, day);
Run Code Online (Sandbox Code Playgroud)

我可以这样做,但没有印刷,喜欢

char* date = "%d.%d.%d", year, month, day;
Run Code Online (Sandbox Code Playgroud)

或者其他一些简单的方法可以做到这一点?

Dan*_*ger 7

在plain c中有asprintf(),它将分配内存来保存结果字符串:

#include <stdio.h>
char *date;
asprintf(&date, "%d.%d.%d", year, month, day);
Run Code Online (Sandbox Code Playgroud)

(错误处理省略)

由于您已经标记了C++,因此您可能希望使用C++解决方案.