我想定义格式%lld
并使用简介printf
或snprintf
#include "stdafx.h"
#include <cstdint>
using Custom_DataType = int64_t;
#define CUSTOM_FORMAT "%lld"
int main()
{
Custom_DataType var = 9999999999;
printf("It works", CUSTOM_FORMAT, var);
return 0;
}
我想做点什么
printf("It works %lld", var);
我想将%lld
替换为CUSTOM_FORMAT
但是,如果我这样做,就像我上面的例子那样,
答案 0 :(得分:3)
您可以使用字符串文字串联。由于
"STRING1" "STRING2"
相当于
"STRING1STRING2"
你可以写:
#define CUSTOM_FORMAT "%lld"
printf("It works " CUSTOM_FORMAT, var); // <-- no comma ;)
答案 1 :(得分:1)
printf("It works", CUSTOM_FORMAT, var);
这个逗号,
毫无意义。摆脱它:
printf("It works " CUSTOM_FORMAT, var);
然后,再次,因为您使用C ++,为什么不使用std::cout
。