如何在C语言中输出int64_t?

假如,现在有一个64位的整数,需要被输出到stdout或者某个文件里。该怎么写?

先毙掉一个:
int64_t i=9;
printf("%lld\n",i);

GCC会报警。warning: format '%lld' expects type 'long long int', but argument 2 has type 'int64_t'。传说这个警告已经在gcc中存在了15年以上,但是我在linux以及cygwin下编译并不会报告这个,在freebsd下会(我在amd64的8-current上测的)

相比而下,C++的ostringstream简直万能的完美无瑕。但是……我还是希望能找到一个简洁点的方案。

此博客中的热门博文

少写代码,多读别人写的代码

在windows下使用llvm+clang

tensorflow distributed runtime初窥