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標準。