Ir para conteúdo
Fórum Script Brasil
  • 0

Como fazer busca de em arquivo?


pedrovg

Pergunta

Olá,

estou tentando fazer busca em um arquivo txt.Procurei por aqui, mas só achei com uma estrutura avançada.

Tentei usar esta estrutura

#include<stdio.h>

int main()

{

FILE *arquivo=fopen("arquivo.txt", "r");

fscanf(arquivo, " %c", &c);

Vi que dá para usar o fscan oara pesquisar n?

A estrutura do texto é assim:

jhvfvbdkbd

nome: hhdslhgldf

idade 13 sexo M

rua

país

cep

Por exemplo, sei que quero o nome, idade, sexo e rua da pessoa, só que a única informação que tenho é que estas informações vem depois de algumas palavras, não sabendo qual linha, quanto espaçamento, ordem nem nada.

Depois disso quero imprimir noutro txt só as informações que procurava, mas ai é facil.

Obrigado

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

pedrovg, se voce sabe apos qual palavra o texto vai estar fika facil achar....

voce só precisa procurar no arquivo ateh achar a palavra que voce quer, e depois pegar a proxima.

segue um exemplo:

#include <stdio.h>
#include <iostream>

using namespace std;

int main()
{
    FILE *pArq = fopen("arquivo.txt", "r");
    char szText[50];
    
    if(!pArq)
    {
        cout << "Error: não foi possivel abrir o arquivo!" << endl;
        getchar();
        exit(1);
    }
    
    while((fscanf(pArq, "%s", szText)) != EOF )
    {
        if(!strcmp(szText, "Nome:") && (fscanf(pArq, "%s", szText)) != EOF )
            cout << "Nome.: " << szText << endl;
        if(!strcmp(szText, "Idade:") && (fscanf(pArq, "%s", szText)) != EOF )
            cout << "Idade: " << szText << endl;
    }
    
    delete pArq;
    getchar();
}
e o arquivo.txt desse jeito:
Nome: hhdslhgldf
Idade: 13 sexo M
rua
país
cep

espero ter ajudado....

abrasss

Link para o comentário
Compartilhar em outros sites

  • 0

Você não pode fazer isso direto.

Use sprintf e depois use a string no fopen.

Exemplo:

#include <stdio.h>

int main(void) {
    char narq[60];
    FILE* arq;

    sprintf(narq, "%s.txt", "nome");
    arq = fopen(narq, "r+");

    fclose(arq);

    return 0;
}

Abraços.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...