
在linux上,我们使用%ju,但在Solaris上似乎没有任何相似之处.我找到的最接近的是%lu,但是这会产生不正确的输出.一些示例代码:
#include <stdio.h>#include <sys/types.h>#ifdef SunOStypedef uint64_t u_int64_t;#endifint main(int argc,char **argv) { u_int64_t val = 123456789123L;#ifdef SunOS printf("%lu\n",val);#else printf("%ju\n",val);#endif} 在linux上,输出是预期的;在Solaris 9上(不要问),它是“28”
我可以用什么
解决方法 如果您有inttypes.h可用,您可以使用它提供的宏:printf( "%" PRIu64 "\n",val);
不漂亮(我似乎在说很多最近),但它的作品.
总结以上是内存溢出为你收集整理的c – 在Solaris 9上的printf uint_64?全部内容,希望文章能够帮你解决c – 在Solaris 9上的printf uint_64?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)