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

ler arquivo txt


Danilo Salvanhini

Pergunta

Ola pessoal, preciso mostrar em tela o nome dos produtos que estão em um arquivo txt, mas com estrutura parecida ao um xml ex:

<produto> produto1 </produto>

<produto>produto2</produto>

onde essa estrutura em um arquivo .txt

alguém poderia me ajudar como eu faço para exibir isso em tela?

sei que terei que primeiro abrir o arquivo txt, mas e depois como vou fazer para separar somente o que esta entre as tags <produto> </produto> e mostar com um printf

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Leia caractere por caractere.

Quando chegar no <, leia o nome da tag, então, ao chegar ao >, comece lendo o conteúdo da tag, novamente, quando chegar ao <, leia o nome da tag até o >, caso for igual ao nome da abertura, é o fim.

Exemplo:

<produto>exemplo</produto>

arquivo = abrir text.txt
caractere = pega caractere arquivo

se caractere = '<'
        caractere = pega caractere arquivo

    enquanto caractere != '>'
        tag = tag + caractere
        caractere = pega caractere arquivo
    final

        caractere = pega caractere arquivo

    enquanto caractere != '<'
        conteudo = conteudo + caractere
        caractere = pega caractere arquivo
    final
final

Com esse "algoritmo" dá para você ter uma base de como tem que fazer.

Abraços.

Editado por Durub
Link para o comentário
Compartilhar em outros sites

  • 0
Leia caractere por caractere.

Quando chegar no <, leia o nome da tag, então, ao chegar ao >, comece lendo o conteúdo da tag, novamente, quando chegar ao <, leia o nome da tag até o >, caso for igual ao nome da abertura, é o fim.

Exemplo:

<produto>exemplo</produto>

arquivo = abrir text.txt
caractere = pega caractere arquivo

se caractere = '<'
        caractere = pega caractere arquivo

    enquanto caractere != '>'
        tag = tag + caractere
        caractere = pega caractere arquivo
    final

        caractere = pega caractere arquivo

    enquanto caractere != '<'
        conteudo = conteudo + caractere
        caractere = pega caractere arquivo
    final
final

Com esse "algoritmo" dá para você ter uma base de como tem que fazer.

Abraços.

Durub. ótima dica já me deu uma luz. mas preciso passar ele pra código em C e to com dificulddes.

por exemplo na linha

arquivo = abrir text.txt

eu uso entrada = fopen("entrada.txt","r"); para abrir o arquivo. já na linha seguinte não to conseguindo.

me ajuda.

Link para o comentário
Compartilhar em outros sites

  • 0
Pegar o caractere?

Use o fgetc. (http://www.cplusplus.com/reference/clibrar...tdio/fgetc.html)

Exemplo:

caractere = fgetc(arquivo);

Abraços.

amigo ta dando certo mas agora.

olha como ficou

entrada = fopen ("entrada.txt","r");

int patrimonio;

if (entrada==NULL) perror ("Error opening file");

else

{

do {

patrimonio = fgetc (entrada);

patrimonio != '>'

tag = tag + patrimonio //nessa linha ta parando

patrimonio = fgetc(entrada.txt);

final

naquela linha onde diz tag o script ta parando dizendo que eu não declarei ela. mas como eu faço pra declarar corretamente essa tag para pegar o que estiver dentro de <patrimonio>54856465</patrimonio>??

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...