在here的答案後,我想看看snprintf使用多少個字節。下面的代碼snprintf如何對齊字節
#include "stdio.h"
int main() {
printf("%d\n", snprintf(NULL, 0, "%d:%llx:%d:%llx:%llx:%llx", 0, 0, 0, 0, 0, 0));
printf("%d\n", snprintf(NULL, 0, "%d:%llx:%d:%llx:%llx:", 0, 0, 0, 0, 0));
printf("%d\n", snprintf(NULL, 0, "%llx", 0));
return 0;
}
返回
22
10
1
我不知道如何在印刷可以使用12個字節,如果其單獨使用,同時它僅使用1個字節的其他數據的端部的%LLX。 snprintf能做任何字節對齊嗎?
@Stargateur UB是U. –
@DavidSchwartz事實上,沒關係,我總是忘了是c不推斷可變參數函數類型。 – Stargateur
未定義的行爲,schmundefined schmehaviour。 –