elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Como puedo detectar una palabra y comprobar si la 2 linea esta vacía en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como puedo detectar una palabra y comprobar si la 2 linea esta vacía en C  (Leído 1,731 veces)
Alberto n

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Como puedo detectar una palabra y comprobar si la 2 linea esta vacía en C
« en: 5 Marzo 2019, 02:28 am »

Tengo el siguiente código en C, el cual lee el archivo.

#include <stdio.h>
#include <stdlib.h>

int main(){
  FILE* archivo = fopen("leer.txt","r");
  char * buffer = NULL;
  int i, c;
  c = fgetc(archivo);
  while(!feof(archivo))
    {
      buffer = (char*)realloc(NULL, sizeof(char));
        i = 0;
      while( c != '\n')
        {
          buffer = c;
          i++;
          buffer = (char*)realloc(buffer, (i+1)*sizeof(char));
          c = fgetc(archivo);
        }
      /*Agrego el \n al buffer*/
      buffer = (char*)realloc(buffer, (i+2)*sizeof(char));
      buffer = c;
      buffer[i+1] = 0;
      /*Trabajar con el buffer*/
      printf("%s", buffer);
      free(buffer);
      c = fgetc(archivo);
    }
  
}


lo que deseo es que al detectar una palabra, este cuente dos lineas más y verifique si la linea esta vacía (en blanco), si es así, que no la copie al archivo nuevo, y continué buscando en las siguientes lineas.

Soy bastante nuevo en esto, y no he logrado como resolverlo, por eso pido algo de ayuda.

Tengo un archivo con estas lineas, donde la palabra que deseo buscar es: "FACTOR", al encontrarla debe contar 2 lineas más y comprobar si esa linea esta en blanco (vacía), si es así, no copiar esa linea y continuar buscando la misma palabra en las siguientes lineas y volver a comprobar al sumar 2 lineas más es vacía.

1- %%XGF (FACTOR)
2- P0
3-
4-                                                                         FUERA
5-   LEIVA

Pido de su ayuda, ya que no he podido realizarlo.


« Última modificación: 5 Marzo 2019, 03:07 am por Alberto n » En línea

srWhiteSkull


Desconectado Desconectado

Mensajes: 444



Ver Perfil WWW
Re: Como puedo detectar una palabra y comprobar si la 2 linea esta vacía en C
« Respuesta #1 en: 5 Marzo 2019, 05:34 am »

Usa banderas. Por ejemplo, una vez que encuentresun salto de línea usa una variable y la pones a 1. Luego si lee un caracter que no sea un espacio pones esa variable a 2. Si al encontrar otro salto de línea la variable esa, la bandera, sigue a 1 significará que esa línea anterior estaba vacía y de lo contrario que contenía algo. Si la finalidad es descartar las líneas vacías usa un contenedor temporal y luego vuelcalo donde quieras en el caso de contener algo, usa un bucle si eres novato (existe funciones para copiar bloques de memoria, pero hay que usar punteros).


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[batch] SCRIPT comprobar carpeta VACIA
Scripting
postrof 2 13,140 Último mensaje 14 Abril 2009, 12:16 pm
por postrof
Como saber si una carpeta esta vacia « 1 2 »
Programación Visual Basic
Fabricio 19 19,157 Último mensaje 8 Abril 2009, 19:16 pm
por Dessa
como buscar una palabra en la ultima linea de un txt con un bat
Scripting
patorejo 5 6,950 Último mensaje 13 Agosto 2010, 21:52 pm
por flony
Si variable PHP vacia(no empty(),is_null,isset) que no tome 0 como vacia en POST
PHP
Graphixx 9 22,371 Último mensaje 12 Mayo 2012, 18:58 pm
por it3r
[Pregunta]: ¿Cómo puedo detectar cuando el recaptcha v2 de google está cargando?
Desarrollo Web
Leguim 2 1,872 Último mensaje 28 Diciembre 2022, 16:29 pm
por Leguim
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines