我实现了myPrintf函数:
int myPrintf(const char* format,...)
{
va_list args;
va_start(args, format);
int ret = vprintf (format, args);
fflush(stdout);
va_end (args);
return ret;
}当我使用format = "%ld,%ld“运行函数,并且字符集的args表示为78,97,188,0,0,0,0,0,120,10,227,5,0,0,0,0时,打印到标准输出的输出是12345678,0.Instead of 12345678,98765432。问题可能是什么?如何解决?
发布于 2011-11-13 19:04:13
因为,就像在ideone上一样,你的long是32位的。
http://ideone.com/jjafU
如果对64位值使用"%lld",则它的工作方式与预期相同
http://ideone.com/BYTaa
https://stackoverflow.com/questions/8110822
复制相似问题