我正在將一個win32應用程序移植到linux,而不是每個_snprintf_s都有一堆#ifdefs,我想知道是否有辦法#以某種方式將其定義爲snprintf。#define _snprintf_s to snprintf
因此,像 -
#define _snprintf_s(1,2,3,4,5) snprintf(1,2,4,5)
第三個參數,最大字符數來存儲,或_TRUNCATE不存在的snprintf的。
這種方法是否正確?我可以做這樣的#定義嗎? 如果是這樣,有人可能會指出我應該如何去做?我想通過this question知道我必須小心這些#defines。
謝謝!
對於初學者來說,你不能用數字作爲宏參數名稱;他們必須是標識符。 –
我打算建議在Windows中使用'_snprintf',在Linux中使用'snprintf',但微軟的'_snprintf'函數與標準'snprintf'不相當。特別是,'_snprintf'可以不用'''0'終止符而離開目標緩衝區。 –