+ Responder ao Tópico



  1. #1

    Question Ajuda para Abrir e Escrever em um Arquivo

    Bom dia pessoal,

    estou precisando de uma ajuda de vocês.

    Estou tentando aprender como criar um arquivo para guardar dados dentro dele, por exemplo, nome.
    Ja olhei muitas apostilas, mas fornecem informações gerais e nada muito específico.

    Já sei que o comando para abrir um arquivo pode ser esse:
    Código c:
    int main(){
     
       FILE *fp;
     
       fp = fopen ("teste.txt", "a+");
       if (fp == NULL) {
          printf ("Houve um erro ao abrir o arquivo.\n");
          return 1;
       }
       printf ("Arquivo teste criado com sucesso.\n");
       fclose (fp);
     
       return 0;
    }

    Até aqui eu consigo fazer, realmente o arquivo teste.txt é criado na minha pasta raiz.
    Porém minha dificuldade começa agora, eu quero escrever algo dentro desse arquivo e depois quando eu precisar dentro do meu
    programa, printá-lo na tela.

    Simulando um caso real, se eu estivesse montando um programinha simples para cadastrar 2 usuários, pelo menos os nomes deles,
    por exemplo,
    Código c:
    int main(){
        char nomes[2];
        int x;
     
            for (x=0; x<2; x++){
              printf ("Entre com o seu nome: ");
              scanf ("%s", &nomes[x]);
              printf ("Nome cadastrado !");
           {
    return 0;
    }

    º Como faria pra conseguir jogar os 2 nomes dentro do meu arquivo teste.txt que criei la em cima ?
    Obs.: vi vários comandos para inserção de dados em arquivos, porém nao obtive sucesso.

    º Depois, como faria pra conseguir mostrar esses nomes na tela ?


    Espero a ajuda de vocês que são feras.
    Um grande abraço.
    Última edição por osmano807; 11-11-2011 às 14:06.

  2. #2
    MODERADOR-CHEFE Avatar de osmano807
    Ingresso
    Aug 2008
    Localização
    Araguari - Minas Gerais
    Posts
    1.980
    Posts de Blog
    5

    Padrão Re: Ajuda para Abrir e Escrever em um Arquivo

    Humm, ramo complicado que está entrando.
    Ficaria algo assim:
    Código c:
    #include <stdio.h>
    #include <stdlib.h>
     
     
    int main() {
        char nomes[2][50 + 1]; /* 2 nomes de 50 caracteres */
        FILE* fp;
        fp = fopen("teste.txt", "w");
     
     
        if(fp == NULL) {
            printf("Houve um erro ao abrir o arquivo.\n");
            return 1;
        }
     
     
        int iii;
     
     
        for(iii = 0; iii < 2; ++iii) {
            printf("Entre com o seu nome: ");
            scanf("%s", &nomes[iii]);
            fprintf(fp, "%s\n", &nomes[iii]);
            printf("Nome cadastrado !\n");
        }
     
     
        fclose(fp);
     
    /* Nesse ponto, foi inserido no arquivo os nomes.
    *  A partir daqui, são as rotinas de leitura do arquivo
    */
     
    fp = fopen("teste.txt", "r");
     
     
        if(fp == NULL) {
            printf("Houve um erro ao abrir o arquivo.\n");
            return 1;
        }
     
     
        int jjj;
        char str[50 + 1];
     
     
        for(jjj = 0; jjj < 2; ++jjj) {
            fscanf(fp, "%s", str);
            printf("Nome: %s\n", str);
        }
     
     
        fclose(fp);
        return 0;
    }

    Arquivo final (teste.txt)
    Código :
    osmano807@notebook_dv5 /tmp % cat teste.txt 
    Joaquim
    João

  3. #3

    Padrão Re: Ajuda para Abrir e Escrever em um Arquivo

    Opa, vlw mesmo hein meu camarada, achei que fosse mais dificil.
    Mas deixa eu tentar entender uma coisa, esse segundo "FOR" que vc fez ali, seria pra que exatamente ?

  4. #4
    MODERADOR-CHEFE Avatar de osmano807
    Ingresso
    Aug 2008
    Localização
    Araguari - Minas Gerais
    Posts
    1.980
    Posts de Blog
    5

    Padrão Re: Ajuda para Abrir e Escrever em um Arquivo

    Citação Postado originalmente por filipefaria10 Ver Post
    Opa, vlw mesmo hein meu camarada, achei que fosse mais dificil.
    Mas deixa eu tentar entender uma coisa, esse segundo "FOR" que vc fez ali, seria pra que exatamente ?
    Para ler do arquivo, é que eu juntei tudo num só.
    Saca só, eu dei um fclose(fp), nesse ponto, finalizaria o processamento no arquivo.
    Aí, eu abri denovo para ler os nomes que escrevi no arquivo, ou seja, o segundo for é para leitura (devia ter comentado...)

  5. #5

    Padrão Re: Ajuda para Abrir e Escrever em um Arquivo

    Aaah entendi agora !

    Muito obrigado pela ajuda !
    vlw mesmo !

    rodou legal aqui !

    Abraço.