Cita:
Iniciado por RoDaVi Hola guzzano.
Seguramente debe ser funcional tú código, pero por el momento y por mis conocimientos no logro implementarlo, no me sirve con tan sólo copiar y pegar debo entender lo que hace cada línea.-
Muchas gracias por el código por el momento lo solucioné con esto:
Saludos.
Daniel
Esa también es buena solución, pero estaría mejor si compruebas lo que te devuelve
strlen. Si por algún caso, la variable está vacía, entonces
strlen devolvería
0, y la dirección que va a escribir el
\0 será -1 lo cual hará que el programa falle.
Código C:
Ver originalchar *
fgets_fix (char * buff, size_t bufflen, FILE * fp)
{
if (fgets(buff
, bufflen
, fp
) != NULL
) // Devolverá NULO si hay un error. {
char * nw = NULL; // Se crea un puntero nulo.
nw
= strchr(buff
, '\n'); //strchr busca en la variable buff el carácter \n y devuelve la posición en la memoria donde está ese carácter.
if (nw != NULL) // Verificamos que nw tenga valor después de usar el strchr;
*nw = '\0'; // Le asigamos a la dirección encontrada \0 que antes valía \n
return buff;
}
return NULL;
}