簡體   English   中英

使用宏定義打印格式參數

[英]Use macro to define print format arguments

我想定義格式%lld並使用介紹性printfsnprintf

#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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM