Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/07/2015, 01:41
rayeitor
 
Fecha de Ingreso: julio-2015
Mensajes: 6
Antigüedad: 8 años, 10 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.