size_t 在C/C++里面表示对象的大小,是个无符号整数,但是它在32和64位下面定义是不同的。因此如果使用%d来进行格式化输出,会得到一个警告。
在C99标准里面,添加了%zd来格式化size_t,从而实现了32和64位兼容,如果需要格式化成16进制,可以使用:%zx。
另外,针对ssize_t(有符号的size_t)可以使用: %zu来格式化。
而int64_t可以使用C99标准的: %jd,uint64_t可以使用:%ju
注意:VS2013并不支持,上述C99标准。
size_t 在C/C++里面表示对象的大小,是个无符号整数,但是它在32和64位下面定义是不同的。因此如果使用%d来进行格式化输出,会得到一个警告。
在C99标准里面,添加了%zd来格式化size_t,从而实现了32和64位兼容,如果需要格式化成16进制,可以使用:%zx。
另外,针对ssize_t(有符号的size_t)可以使用: %zu来格式化。
而int64_t可以使用C99标准的: %jd,uint64_t可以使用:%ju
注意:VS2013并不支持,上述C99标准。