03/07/2015, 01:41
|
| | Fecha de Ingreso: julio-2015
Mensajes: 6
Antigüedad: 9 años, 5 meses Puntos: 0 | |
Saturación de buffer al cargar String Buenos días a todos. Como recién llegado todavía no os conozco, así que espero no ser muy cabezón.
El problema que tengo es este: al cargar un string, si pasa de la longitud de la cadena, ésta se corrompe y el programa da error.
Una solución es usar scanf("%20c",cadena), que toma sólo los 20 primeros caracteres. Pero ésta daja de leer en cuanto llega al primer espacio.
Otra podría ser scanf("%[^\n]s",&cadena), que coge hasta el primer retorno de carro (bueno, a mí me gusta para en un ESCAPE) pero esta opción no controla si te pasas con los caracteres.
Ya sólo me queda hacer una cadena gigante y copiar de ésta a la cadena de trabajo, o usar aritmética de punteros pura y dura.
¿Alguna idea? Gracias a todos, y si he sido muy pesado, es mi primera entrada. |