Como escrever e ler arquivo, Linguagem C

10 respostas
M

Criar um programa em C que execute uma contagem de 1 a 100 e escreva em
um arquivo texto:

1
2
3
4
.
.

100

Após escrever no arquivo, ler o conteúdo e exibir na tela modo texto - DOS

A LÓGICA EU FIZ NUMA BOA,SÓ NÃO SEI MANDAR ISSO PARA O TXT.

10 Respostas

G

http://www.eskimo.com/~scs/cclass/notes/sx12.html

M

Esqueci de falar que eu sou iniciante em C.

ficou meio complicado de compreender nesse link ai amigo. Obrigado

G

Essa apostila é muita boa.

http://www.inf.pucrs.br/~celso/Curso%20de%20C.htm

M
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i, sim = 0, cont = 1;
    
    
    while(sim != 2){

    for (i = 1; i <=100; i++)

    printf("unit_%003d \n", i);
    printf("\n Deseja exibir o programa novamente?\n \n Digite: 1 para Sim ou 2 para Sair  \n");
    scanf("%d", &sim);
        if(sim == 1 && cont == 1){
            system("color 4");
            cont++;
    }
        else{
            system("color 1");
            cont--;
    }

    }
    system("pause");

}

Já li varias apostilas a respeito, tipo File*fp para abrir o arquivo e tal, mas como faço para guardar meu contador no Arquivo e depois ler ele no DOS?

G

Veja as aulas 19, 20 e 21 desse último link que te passei, tem exemplos lá.

M
#include <stdio.h>
#include <stdlib.h>

main()
{
    FILE *fp;
    char nomeArquivo[25] = "Contadores.txt";
    int i;

          if (fp = fopen(nomeArquivo, "w") != NULL)
        {
    printf("\n\n Arquivo Criado com Sucesso\n\n");

    fp = fopen(nomeArquivo, "w");
    for (i = 1; i <=100; i++)
    fprintf(fp,"unit_%003d \n",i);

        }
    else{
        printf("Falha ao criar o Arquivo");
        exit(1);
    }
    fclose(fp);

    system("pause");

}

Estou quase lá, meu arquivo texto já está salvo corretamente, mas não estou conseguindo que os mesmos dados do txt, sejam escritos no executável.

A

Olá,
primeiramente, remove a linha 14, pois está abrindo o arquivo 2 vezes.
Qual é exatamente a saída? Se for para imprimir de 1 a 100 com cada número em um linha, utilize na linha 16:

Att.

M

Agora o programa não escreve e tb não le o arquivo :frowning:

A

Mais uma coisa que não tinha notado… na linha 10 troque:

por

Att.

M
#include <stdio.h>
#include <stdlib.h>

int main()
{

    // Escrever no Arquivo

    FILE *fp;
    int i;

    fp = fopen("Arquivo.txt", "w");

    if (fp != NULL)
    {
      for (i= 1; i <= 100; i++)
      {
        fprintf(fp,"unit_%003d\n",i);
      }
    }
        else
        {
            printf("Erro ao criar o Arquivo");
        }
    fclose(fp);

    printf("\nPrograma criado com sucesso\n\n");


    // Ler o Arquivo

    const int STR_TAMANHO = 25;

    FILE *arquivo = fopen("Arquivo.txt", "r");
    char ler[STR_TAMANHO];


    if(arquivo != NULL)
    {

        while(fgets(ler, STR_TAMANHO, arquivo))
        {
            printf("%s", ler);
        }
    }
            else
            {
                printf("Nao foi possivel abrir o arquivo.");
            }
    fclose(arquivo);

    printf("\n\n");
    system("Pause");
    return 0;

}

Obrigado pela cooperação, mas o que eu realmente queria é mais ou menos isso, agora consegui fazer o projeto escrever e ler no arquivo. Obrigado!

Criado 15 de agosto de 2010
Ultima resposta 16 de ago. de 2010
Respostas 10
Participantes 3