我目前正在創建一個加密/解密應用程序作爲練習,並且要這樣做,我一直試圖使用snprintf將整數轉換爲char數組,但是,例如,如果我有4位數字的整數,它只會增加第一3.這是我到目前爲止的代碼:c - 字符數組不打印每個值
int encrypt(int num, bool type)
{
char buffer[sizeof(num)];
snprintf(buffer, sizeof(buffer), "%d", num);
printf(buffer);
return 0;
}
任何幫助將是真棒!
'字符緩衝區[的snprintf(NULL, 0,「%d」,num)+1];' – BLUEPIXY
請閱讀'sizeof'運算符的操作。 – Olaf
snprintf只會將sizeof(buffer)-1個字符寫入緩衝區,因爲它需要爲空終止符留出空間。 – bruceg