Sign in to follow this  
Guest Luiz Nogueira

Dividindo Arquivo Txt Em C

Recommended Posts

Guest Luiz Nogueira

Olá pessoal,

Sou iniciante me C, estou precisando da seguinte ajuda, tenho um arquivo chama wine.txt com vários dados nele: Segue abaixo alguns dados para melhor compreeenção.

1954.0 85.0 464.0 January_1980

2302.0 89.0 675.0 February

3054.0 109.0 703.0 March

2414.0 95.0 887.0 April

2226.0 91.0 1139.0 May

2725.0 95.0 1077.0 June

2589.0 96.0 1318.0 July

3470.0 128.0 1260.0 August

2400.0 124.0 1120.0 September

3180.0 111.0 963.0 October

4009.0 178.0 996.0 November

Ao todo são 174 linhas.

Meu problema tenho que dividir esse arquivo em outros tres arquivos. Por exemplo tenho que pegar o dado 1954.0 e salva em outro arquivo chamada wine1.txt, o dado 85.0 e salvar em um arquivo wine2.txt, o dado 464.0 e salvar no arquivo wine3.txt e o outro dado January_1980 não preciso salva-lo em lugar nenhum.

Consigo ler todo o arquivo linha por linha, mas não consigo separá-lo. Consigo copiar o arquivo por inteiro.

Cheguei a seguinte lógica, fazer um loop for sendo que devo concatenar os dados, já que os mesmo são separados por um espaço. (Mas não estou conseguindo).

Alguém pode me dar uma luz?

Agradeço muito a todos...

Atenciosamente,

Luiz Nogueira

Share this post


Link to post
Share on other sites

Se você tiver certeza que sua linha é bem formatada você pode fazer o seguinte para a leitura:

#define MAXL 174 /*Numero máximo de linhas do arquivo*/
#define MAXC 20 /*Numero maximo de caracters numa string*/
.
.
.
char w1[MAXL][MAXC], w2[MAXL][MAXC], w3[MAXL][MAXC], data[MAXC];
.
.
.
fscanf(arquivo, "%s %s %s %s",w1[i], w2[i], w3[i], data).
fprintf(s1, "%s\n",w1[i]);
fprintf(s2, "%s\n",w2[i]);
fprintf(s3, "%s\n",w3[i]);
.
.
.

Não esqueça de colocar o bloco de código dentro de um loop que le cada linha, lembrando que i indica a sua linha atual.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this