我想在Visual C++ 6.0(普通C)中sprintf()一个unsigned long long值.
char buf[1000]; //bad coding unsigned __int64 l = 12345678; char t1[6] = "test1"; char t2[6] = "test2"; sprintf(buf, "%lli, %s, %s", l, t1, t2);
给出结果
12345678, (null), test1
(test2
不打印的手表)
并且l = 123456789012345
它提供了一个异常处理
有什么建议?
要unsigned __int64
在Visual C++ 6.0中打印值,您应该使用%I64u
,而不是%lli
(请参阅MSDN 上的此页面).%lli
仅在Visual Studio 2005及更高版本中受支持.所以,你的代码应该是:
sprintf(buf, "%I64u, %s, %s", l, t1, t2);