1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[C]procurar palavras em ficheiros

Discussão em 'Programação' iniciada por Ruanes, 25 de Junho de 2008. (Respostas: 7; Visualizações: 1544)

  1. Ruanes

    Ruanes Power Member

    oi estou aqui com um problema:

    estou a tentar fazer programa e queria que esse programa procura-se uma palavra(ou varias) num ficheiro.

    O problema e que nao sei como faze-lo e precisa-va da vossa ajuda.

    P.S.Talvez com loop's e if's nao sei.
     
  2. Lês todas as palavras do ficheiro para uma estrutura (uma hash table é boa ideia) e procuras a palavras que queres nessa estrutura.
     
  3. ChesterLP

    ChesterLP Folding Member

    Podes sempre usar o Lex.
     
  4. MadOnion

    MadOnion Folding Member

    É uma boa ideia se o ficheiro for pequeno.
    Imagina que o ficheiro tem 1GB(improvável), seria complicado passar isso tudo para memória(ainda por cima em C que não tem protecção de memória).
    O ideal seria ler palavra a palavra, e fazer um match com a pretendida.
     
  5. Exacto, para ficheiros grandes existe esse problema. No entanto, com esse método é preciso ler uma vez o ficheiro para cada palavra.
     
  6. countzero

    countzero Power Member

    Olá, além de todas as sugestões que foram dadas, também podes utilizar o algoritmo dos senhores Knuth, Morris e Pratt: é extremamente eficiente, tanto em termos de memória, como de tempo.

    Nesse link encontras uma explicação interactiva do algoritmo e código C.

    Cumps,
    JP
     
  7. Ruanes

    Ruanes Power Member

    e isso que eu quero, só queria saber como e que isso se faz.

    obrigado mas já consegui.

    usei a funcção fgets() que le uma string num ficheiro.
     
    Última edição pelo moderador: 25 de Junho de 2008
  8. Solid|Snake

    Solid|Snake I fold therefore I AM

    Fundo!!!
     

Partilhar esta Página