[英]Use macro to define print format arguments
我想定義格式%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);
我想用CUSTOM_FORMAT
替換%lld
,但是如果像我上面的例子那樣操作,它將不起作用
您可以使用字符串文字串聯。 以來
"STRING1" "STRING2"
相當於
"STRING1STRING2"
你可以寫:
#define CUSTOM_FORMAT "%lld"
printf("It works " CUSTOM_FORMAT, var); // <-- no comma ;)
printf("It works", CUSTOM_FORMAT, var);
該逗號,
沒有任何意義。 擺脫它:
printf("It works " CUSTOM_FORMAT, var);
再說一次,既然您使用的是C ++,為什么不使用std::cout
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.