Se me confunde con la función snprintf. En primer lugar, no he encontrado la función snprintf en un compilador turbo C versión bajo stdio.h En segundo lugar en un compilador GNU snprintf está devolviendo -1 cuando el tamaño del buffer es menor que el de la cadena formateada, aunque debería devolver el número de caracteres se han impreso si el tamaño del buffer era suficientemente grande. Tengo la siguiente fuente:snprintf confusion
#include<stdio.h>
int main()
{
char str[100];
int numchar = snprintf(str,2,"ello jdj");
printf("%d\n",numchar);
return 0;
}
Este código debería dar como resultado 8 de acuerdo con lo que sé sobre snprintf hasta el momento. pero está devolviendo -1 en mi compilador GNU. ¿Cuáles son los hechos detrás?