Jestem zdezorientowany z funkcją snprintf. Po pierwsze nie znalazłem funkcji snprintf w kompilatorze wersji turbo C pod stdio.h Po drugie w kompilatorze GNU snprintf zwraca -1, gdy rozmiar bufora jest mniejszy od sformatowanego łańcucha, chociaż powinien zwracać liczbę znaków zostały wydrukowane, jeśli rozmiar bufora był wystarczająco duży. Mam następujące źródło:zamieszanie snprintf
#include<stdio.h>
int main()
{
char str[100];
int numchar = snprintf(str,2,"ello jdj");
printf("%d\n",numchar);
return 0;
}
Ten kod powinien wypisać 8 zgodnie z wiedzą o snprintf do tej pory. ale powraca -1 w moim kompilatorze GNU. Jakie są fakty?