Manipulando arquivos em C (parte 1)

Esta é a primeira das duas partes que compõem um tutorial que trata a manipulação de arquivos em C. Aqui veremos o funcionamento de funções como: fopen, fclose, feof, fgetc e fputc.

[ Hits: 225.621 ]

Por: Kleber de Andrade Reis em 20/02/2005


Exemplo: Lendo e escrevendo caracteres em arquivo



/* Lendo e escrevendo caracteres em arquivo */

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

void main()
{
    FILE *p;
    char c, str[40] = "/mnt/wind/teste/facu/teste.txt", frase[80] = "Este e um arquivo chamado: ";
    int i;
    /* Lê um nome para o arquivo a ser aberto: */

    if (!(p = fopen(str,"w")))  /* Caso ocorra algum erro na abertura do arquivo..*/
    {                           /* o programa aborta automaticamente */
        printf("Erro! Impossível abrir o arquivo!\n");
        exit(1);
    }
    /* Se não houve erro, imprime no arquivo e o fecha ...*/
    strcat(frase, str);
    for (i=0; frase[i]; i++)
        putc(frase[i],p);
    fclose(p);

    /* Abre novamente para  leitura  */
    p = fopen(str,"r");
    c = getc(p); /* Lê o primeiro caracter */
    while (!feof(p))        /* Enquanto não se chegar no final do arquivo */
    {    
        printf("%c",c); /*   Imprime o caracter na tela */
        c = getc(p);    /* Lê um novo caracter no arquivo */
    }
    printf("\n\n");
    fclose(p);              /* Fecha o arquivo */
}
Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Exemplo: Abrindo e fechando um arquivo
   3. Lendo e escrevendo caracteres em arquivo
   4. Exemplo: Lendo e escrevendo caracteres em arquivo
   5. Conclusão
Outros artigos deste autor

Manipulando arquivos em C (parte 2)

Leitura recomendada

Manipulação de arquivos em C++

DoTheWorld - Biblioteca completa para manipulação de Arquivos e Pastas em C

Manipulando arquivos em C (parte 2)

Manipulação de imagens no formato PPM

Dicas para aprender programação

  
Comentários
[1] Comentário enviado por Dr.Tr3z3 em 20/02/2005 - 04:41h

Párabens ,é um ótimo artigo.

[2] Comentário enviado por libius em 21/02/2005 - 10:31h

Parabéns Kleber, o artigo está muito bem escrito.

Um abraço!

[3] Comentário enviado por ice em 21/02/2005 - 16:40h

Excelente artigo, muito bom!

[4] Comentário enviado por removido em 21/02/2005 - 23:33h

ou... pirado velho o a manipulação... muito show... depois vamos combinar umas aulinhas pra vc naum se estressar com a ausencia dos amigos... ahuahuahu..

[5] Comentário enviado por Thiago Madella em 02/03/2005 - 22:10h

Blza velho gostei muito....

[6] Comentário enviado por evanderson em 10/03/2005 - 11:36h

Gostei muito do seu artigo, está muito bem explicado. Vamos aguardar a segunda parte dele...

Abraços.

[7] Comentário enviado por g@bi em 10/03/2005 - 19:52h

Pô! Ficou legal pra caramba! Parabéns!...

[8] Comentário enviado por pulley em 11/03/2005 - 22:05h

pooo!!!! kleber ficou muito irado carinha esse artigo é o bicho tá bem explicado vou te contratar para comentar uma biblia de c/c++ em português e explicar tudo, combinado. valeuuuuuu T+!!!!

[9] Comentário enviado por eraldo_c em 17/03/2005 - 11:07h

valeu cara! ficou bacana e veio a calhar bem na hora, espero fazer um programinha de manipulação de artigo com seu artigo..............valeu!

[10] Comentário enviado por eraldo_c em 17/03/2005 - 11:08h

corrigindo meu comentario anterior mainipulaçao de "arquivo"..........valeu!

[11] Comentário enviado por gelepoker em 30/03/2005 - 20:35h

Muito ferra o artigo, espero q vc possa esta coperando com seus artigos.

valeu

[12] Comentário enviado por m4sk4r4 em 02/12/2005 - 04:18h

Artigo muito bom, e bem elaborado.

Parabéns!!!

[]'s
Gabriel Santana

[13] Comentário enviado por quak2team em 26/12/2005 - 18:24h

Issae ta fera o tuto ai... muito bom..

Parabéns ai... flws...abraços quak2team

[14] Comentário enviado por ornel em 29/06/2006 - 00:36h

artigo muito bom. Só achei muitíssimo semelhante à apostila da UFMG, disponível em http://ead1.eee.ufmg.br/cursos/C/ que, diga-se de passagem, não foi citada em nenhuma momento em seu artigo. Mas tá valendo o esforço,né?
falow

[15] Comentário enviado por kandrade em 29/06/2006 - 08:16h

ornel, utilizei sim a apostila da UFMG como base, mas não só ela....
voce pode verificar isso aqui, se for de seu interesse:

http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=2216&pagina=4

[16] Comentário enviado por daubtful em 11/08/2006 - 21:45h

cara boa msm essa introdução

[17] Comentário enviado por alexandrepom em 02/12/2006 - 16:57h

Esse artigo é a minha salvação! to iniciando em programação e tenho que aprender a manipular arquivos p/ apresentar um progeto de curso! vlw man! muito bom o artigo!

[18] Comentário enviado por f_Candido em 13/10/2007 - 23:43h

Show de Bola, um início bem interesaante.
Parabéns.

[19] Comentário enviado por flavyanne em 06/03/2008 - 11:27h

Muito bom o artigo, tirei algumas dúvidas.
Parabéns!

[20] Comentário enviado por paulocesar.bras em 21/11/2009 - 22:49h

Muito bom artigo gostei muito eu postei uma duvida parecida depois vc poderia contribuir comigo lá

[21] Comentário enviado por tatovieira em 19/01/2010 - 09:38h

Como substituir um caracter? Por ex: Na primeira linha no primeiro byte, se encontrar a letra "a" substituir pela letra "b".
Muito obrigado e parabéns pelo artigo.

[22] Comentário enviado por kandrade em 19/01/2010 - 10:30h

Muito obrigado pelos comentários!
Fiquei surpreso com a quantidade deles.

tatovieira quanto a sua dúvida recomendo que leia a segunda parte desse tutorial.
A idéia básica é "procurar" pela linha ou estrutura que deseja substituir com "fseek" ou outra função que conta as linhas e substituir os dados reescrevendo a parte modificada.

Qualquer coisa estamos ai!

Abraço!

[23] Comentário enviado por r.moraes.32 em 09/11/2011 - 12:15h

pergunta... alguem sabe me dizer como escrever algo no arquivo e isso ficar em negrito?
arquivo .doc mais especificamente...

obrigado

[24] Comentário enviado por marcos@marcos em 23/08/2012 - 13:53h

Parabéns pela iniciativa!
Muito bom o artigo.

[25] Comentário enviado por seniDEac em 05/10/2016 - 20:37h

Muito bom o artigo, já me ajudou muito!!
Obrigado !

Mas isso acabou me dando mais duvidas! rsrs, Espero que possa me ajudar!
Você poderia escrever algo sobre como "trabalhar" com arquivos ".CONF" ? em linux?? Estou estudando C e não sei bem por onde começar!

Qual eh a melhor técnica pra ler e gravar arquivos de configuração para usar em programas escritos em C?

[26] Comentário enviado por Diogo36Luiz em 01/07/2017 - 13:51h

Fiz uma pequena modificação onde está escrito "/mnt/wind/teste/facu/teste.txt" para "teste.txt". O código funcionou no Ubuntu 16.04 LTS. Muito obrigado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts