ISO actualiza las especificaciones del lenguaje C. Ya tenemos la nueva versión "C11"

  1. #39   #38 #37 Gracias, suponía que sobrescribía memoria pero no sabía cómo controlarlo, pero para capturar texto con espacios resulta cómoda si el programa no es muy importante. Pensaba que habría alguna forma de usarla y limitar el número de carácteres pero ya veo que no. (Con scanf al principio no sabía cómo evitar problemas como que al programa se le vaya la olla al meter un carácter o meter varias entradas de golpe y al luego descubrí fflush()). ¿Cuál sería la mejor opción?
    15  votos: 1   link
    el 25-12-2011 20:41 UTC por Kherom Kherom
     twitter  facebook  tuenti  
  1. #40   #39, lo primero es no usar scanf para leer del teclado. Lo correcto es leer línea a línea con fgets y luego procesarla con sscanf (si fuere necesario).

    Y contra gets, igualmente fgets es la mejor opción: necesitas pasarle el buffer, su tamaño y de dónde lo vas a leer (normalmente stdin). Y listo. Ahora ojo, recuerda que fgets te va a dejar el \n al final de la cadena, por lo que quizá te interese borrarlo.
    25  votos: 2   link
    el 25-12-2011 21:03 UTC por BatchDrake BatchDrake
comentarios cerrados

menéame