C/gets
- Por motivos de seguridade, non se recomenda o uso desta función, sendo este substituído xeralmente polo das funcións
fgets()
escanf()
.
A función gets()
le unha liña da entrada estándar (stdin
) e a almacena na cadea que se lle especifique. A función devolve un punteiro á cadea lida, e en caso de ser o valor deste punteiro nulo, significará que houbo un erro ou que se leu o carácter de fin do ficheiro (FdF). A súa sintaxe é:
gets(variable);
A función permite a entrada dunha cadea de caracteres con espazos en branco.
A función devolve como valor un punteiro de tipo char
, que apunta á variable na que gets()
garde o que lea. Se non se escribe nada (aparte do salto de liña ao final), o valor do punteiro que devolve gets()
será nulo (NULL
).
O maior problema de gets
radica en que, aínda que o usuario exceda a cantidade de caracteres establecida para a cadea, segue lendo o que este escribe. Isto provocará un erro, pero a función non fornece procedemento algún para detectar dito erro.