Sé que todo el mundo me ha dicho que use fgets y no recibe debido al desbordamiento del búfer. Sin embargo, estoy un poco confundido sobre el tercer parámetro en fgets()
. Como yo lo entiendo, fgets depende de:función de los fgets() en C
char * fgets (char * str, int num, FILE * stream);
char* str
es el PTR a la que se almacenará mi entrada.
num
es el número máximo de caracteres para ser leído.
pero lo que es FILE *stream
? Si solo estoy pidiendo al usuario que ingrese una cadena (como una oración) ¿debería simplemente escribir "stdin
"?
Y debería escribir FILE *stdin
en la parte superior, cerca main()
?
creo que el segundo parámetro debe ser strlen (tampón) -1. A menos que el buffer sea de 11 bytes. – ant2009
@robUK, eso solo funcionaría si el buffer no fuera todo ceros para empezar. Como se mencionó en el PO, los desbordamientos del búfer no son realmente la preocupación de la pregunta. –