5
我對snprintf函數感到困惑。 首先,我還沒有在stdio.h下的turbo C版本編譯器中找到函數snprintf 其次,在GNU編譯器中,當緩衝區大小小於格式化字符串時,snprintf會返回-1,儘管它應該返回字符數如果緩衝區大小足夠大,則已經打印出來。我有以下來源:snprintf混淆
#include<stdio.h>
int main()
{
char str[100];
int numchar = snprintf(str,2,"ello jdj");
printf("%d\n",numchar);
return 0;
}
此代碼應輸出8據我所知關於snprintf到目前爲止。但它在我的GNU編譯器中返回-1。背後的事實是什麼?