+ Responder ao Tópico



  1. 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 13:06.

  2. 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. 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. 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. Aaah entendi agora !

    Muito obrigado pela ajuda !
    vlw mesmo !

    rodou legal aqui !

    Abraço.






Tópicos Similares

  1. ACL para limitar X KB em um determinado horario
    Por leoservice no fórum Servidores de Rede
    Respostas: 10
    Último Post: 10-10-2005, 17:43
  2. Em um arquivo
    Por no fórum Servidores de Rede
    Respostas: 1
    Último Post: 01-10-2004, 14:16
  3. Com faço para meu slackware rodar em um cd
    Por gilson_ctm no fórum Sistemas Operacionais
    Respostas: 4
    Último Post: 18-07-2004, 10:58
  4. descobrir numero de paginas em um arquivo q sera impresso
    Por chester no fórum Servidores de Rede
    Respostas: 5
    Último Post: 01-06-2004, 07:06
  5. criando lista de usuarios em um arquivo....
    Por Dex no fórum Servidores de Rede
    Respostas: 1
    Último Post: 28-04-2004, 12:25

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L