Autor Tema: funcion fgets y strcmp en C  (Leído 35 veces)

bocha331

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
funcion fgets y strcmp en C
« : 01 de Julio 2020, 01:31 »
Hola, ¿cómo están?

Escribo por acá, ya que estoy teniendo algunas dudas. Estoy haciendo un trabajo en donde tengo que leer un archivo html y encontrar ciertas palaras. Para eso mi idea era usar strcmp.

El problema está en que al leer por ejemplo la primer linea del archivo y la comparo con esa misma linea, obtengo que la primer linea del archivo es mayor.

Ante esto, me puse a hacer pruebas para ver cuantos caracteres tiene cada cadena, y (esto es lo que no entiendo) la cadena que leo con fgets tiene un carácter más que esa misma linea (que imprimí previamente).

Dejo la porción del código de lo que hice para ver si es un tema del código, o si es algo de la función fgets, el archivo me abre y puedo leerlo.

Código: [Seleccionar]
FILE *popen(const char *command, const char *node);
int pclose(FILE *stream);
  char buffer[129024];
  char str[1000];
  int hola;
  //bool foundTabla = false;
  FILE *www;
  if (www = popen(ruta, "r"))
  {
 //leo 1 linea del archivo
    (fgets(buffer, sizeof(buffer), www) != NULL);

//primera liena del archivo
     char linea1 [150] ="<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">";

 //comparo hasta el caracter 121 lo que lei con la primera linea del archivo
 hola = strncmp(buffer, linea1 ,121);

//cuento cuantos caracteres tiene la primera linea y la linea que leo del archivo
    int f = 0;
while (buffer[f]!='\0') {
f++;
}
int g = 0;
while (linea1[g]!='\0') {
g++;
}

//imprimo la cantidad de caaracteres de cada cosa
printf ("Caracteres del buffer: %d\n", f);
printf ("Caracteres de linea1: %d\n", g);

 //imrpimo la linea y como son ambas cadenas
        printf("%s", buffer);
        printf ("%d", hola);

Espero que se entienda, también dejo una foto por las dudas.

Desde ya, gracias!

 

Esto es un laboratorio de ideas...
Aprender a programar

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".