Si te referías a eso, la cuestión no estaba, si tu línea tenía un salto de línea o no. Es cuestión como te dije arriba, que tus variables devuelven siempre
0. Mira tus líneas
56 y
74. Que tengas una variable definida en
main y otra en tu función con el mismo nombre, no quiere decir que cambiará la de
main. Claramente puedes, pero ya seria con el uso de punteros.
El código de arriba, la estructura creada, no sé que hace ahí, es patética y inservible. Puedes hacerlo con una simple variable. Aquí te adjunto una explicación.
Código C:
Ver original#include <stdio.h>
#include <string.h>
int
main (void)
{
char str[256];
char *strp;
fgets(str
, sizeof str
, stdin
);
/* La función strchr, busca la
* primera aparición cáracter
* que se le pasó. En tu caso,
* pasaste 10, que seria \n
* según la tabla ASCII.
*
* Esta función, devolverá un
* puntero, que tendrá la
* dirección donde se encontró.
* Si no se encontró, devolverá
* un valor NULO.
*/
*strp = '\0';
/* Esta condición, mira si el
* resultado no es NULO, y
* con al asterisco accederemos
* a la dirección y cambiaremos
* su valor a un \0, que es un
* fin de la cadena.
*/
return 0;
}
Saludos.