c++ - 使用宏定义打印格式参数
问题描述
我想定义格式%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
但是如果我像上面的例子那样做就行不通了
解决方案
您可以使用字符串文字连接。自从
"STRING1" "STRING2"
相当于
"STRING1STRING2"
你可以写:
#define CUSTOM_FORMAT "%lld"
printf("It works " CUSTOM_FORMAT, var); // <-- no comma ;)
推荐阅读
- ruby-on-rails - 独角兽刷新宝石清单
- c# - 无法使用 ReadAsAsync 反序列化 XML 响应中的列表
- java - Jackson 不在对象中存储 xml 值
- spring-boot - 应用程序属性未读取环境变量
- html - 如何使文本不可复制?
- c# - Visual Studio MSBuild 输出日志文件
- c# - 复杂的嵌套 JSON 数组转换为 DataTable - C#
- html - 嵌入闪亮的情节html
- angular - jasmine、jasminewd2、mocha 的 typescript 库中的重复 @types(index.d.ts - 重复标识符)
- git - git:子模块跟踪当前分支