Ir ao conteúdo
  • Cadastre-se

Como ler e escrever apenas determinado trecho de um arquivo txt?


GLP iniciante

Posts recomendados

Boa noite pessoal,

 

Sou novo no forum e também na arte de programação e gostaria de solicitar ajuda dos gafanhotos mais experientes no assunto, se possível.

 

Estou escrevendo um código em C, que realizará o cadastro de pedidos em um arquivo txt e uma consulta posteriormente.

 

O sistema foi dividido da seguinte forma:

 

1 - Cadastro de Pedido Pronto e implementado

Toda vez que entro nessa opção, é apresentado uma lista de pedidos para o usuário digitar e ao finalizar o mesmo, o sistema grava as informações no txt, utilizando a função fopen e a+ (para adicionar sempre no final do arquivo). Dentro dessa opção, eu tenho uma função que vai sempre retornar o número do último pedido + 1 para cadastrar o próximo pedido, fazendo com que dessa forma o id_pedido nunca seja igual.

2 - Visualiza determinado pedido INCOMPLETO

Ou seja, o sistema vai solicitar ao usuário para que ele digite um numero, esse que deverá ser igual a algum id_pedido já cadastrado e armazenado no txt, e retornar toda a informação daquele pedido na tela do usuário.

3 - Visualiza todos os pedidos do sistema Pronto e implementado

Faz a leitura do arquivo completo ate o EOF e imprime. 

 

Ou seja, 80% do sistema já está pronto, mas não consigo implementar e escrever a Opção 2 de maneira alguma. No nosso txt que armazena os pedidos, os registros ficarão mais ou menos da seguinte forma:

COMPRA 1

Item               Qntd              Preco           Subtotal

Produto 1      2                    2.00             4.00

Produto 2      4                    1.00             4.00

Produto n      n                    n                  n

Total a Pagar                                          10.00

===========================================

COMPRA 2

Item               Qntd              Preco           Subtotal

Produto 1      3                    2.00             6.00

Produto 2      6                    1.00             6.00

Produto 3      1                    10.00           10.00

Produto n      1                    n                  n

Total a Pagar                                          18.00

===========================================

COMPRA 3

Item               Qntd              Preco           Subtotal

Produto 1      8                    2.00             16.00

Produto 2      6                    2.00             12.00

Total a Pagar                                           28.00

===========================================

COMPRA N

Item               Qntd              Preco           Subtotal

Produto 1      3                    2.00             6.00

Total a Pagar                                           6.00

===========================================

 

Ou seja, assim por diante. Então quando o usuário digitar compra 2, o sistema deverá retornar:

COMPRA 2

Item               Qntd              Preco           Subtotal

Produto 1      3                    2.00             6.00

Produto 2      6                    1.00             6.00

Produto 3      1                    10.00           10.00

Produto n      1                    n                  n

Total a Pagar                                          18.00

=========================================== // Pode escrever até isso sem problema

 

Eu entendo que a lógica é o sistema procurar por COMPRA 2 e enquanto não encontrar a linha do Total a Pagar \n ou então o caractere especial "=====", deverá continuar imprimindo, mas eu não sei escrever isso e estou tendo muita dificuldade, apesar de todos os videos que tenho assistido e tópicos que li.

 

Por gentileza, se algum puder me ajudar, eu ficaria muito grato.

 

Obrigado pela atenção se você leu até aqui!!!

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...