Como Ler/Escrever/Editar Arquivos em C++ ? [RESOLVIDO]

1. Como Ler/Escrever/Editar Arquivos em C++ ? [RESOLVIDO]

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 01/10/2014 - 10:54h

Ola pessoal !

Recentemente eu saí do C e vim p/ o C++ , mas me surgiu uma duvida , como é manipulado arquivos em C++ ?

Em C eu sei fazer, por exemplo , acabei de fazer esse pequeno exemplo :

arquivo.c:


#include <stdio.h>

#define MAXCARACTERES 100

int main(){

FILE * arquivo;
arquivo = fopen("texto.txt","r");

if(arquivo == NULL){
printf("Nao foi possivel abrir o arquivo !\n");
return 1;
}

char frase[MAXCARACTERES];

while(fgets(frase,MAXCARACTERES,arquivo) != NULL){
printf("%s",frase);
}

printf("\n");

fclose(arquivo);

return 0;
}





texto.txt


Ola pessoal!

Texte de arquivo usando C

Desejo saber como usar usando C++

[]'s



Grato desde já

Thiago



  


2. MELHOR RESPOSTA

Paulo
paulo1205

(usa Ubuntu)

Enviado em 01/10/2014 - 16:40h

4C75636173 escreveu:

Só uma correção no seu código de C, a linha 17:

Você usou a função fgets() assim: fgets(frase,MAXCARACTERES,arquivo). Entretanto no segundo argumento da função o

ideal seria MAXCARACTERES - 1, por que a string resultante sempre terminará com o caractere contrabarra zero


Sua correção está errada. O certo é mesmo do jeito como ele tinha feito. A função fgets() já se encarrega internamente de deixar o último dos caracteres reservado para o byte nulo (i.e.: se MAXCARACTERES vale 100, a função lê no máximo 99 caracteres e põe um '\0' na centésima posição).

3. Re: Como Ler/Escrever/Editar Arquivos em C++ ? [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 01/10/2014 - 11:25h

Thihup escreveu:

Ola pessoal !

Recentemente eu saí do C e vim p/ o C++ , mas me surgiu uma duvida , como é manipulado arquivos em C++ ?

Em C eu sei fazer, por exemplo , acabei de fazer esse pequeno exemplo :

arquivo.c:


#include <stdio.h>

#define MAXCARACTERES 100

int main(){

FILE * arquivo;
arquivo = fopen("texto.txt","r");

if(arquivo == NULL){
printf("Nao foi possivel abrir o arquivo !\n");
return 1;
}

char frase[MAXCARACTERES];

while(fgets(frase,MAXCARACTERES,arquivo) != NULL){
printf("%s",frase);
}

printf("\n");

fclose(arquivo);

return 0;
}





texto.txt


Ola pessoal!

Texte de arquivo usando C

Desejo saber como usar usando C++

[]'s



Grato desde já

Thiago



Bom dia.

Tem alguns materiais na web a respeito:
http://www.cpdee.ufmg.br/~jramirez/disciplinas/cdtn/cap5-arquivos.pdf
http://www.uems.br/docentes/rmmuller/arquivos.pdf

Só uma correção no seu código de C, a linha 17:

Você usou a função fgets() assim: fgets(frase,MAXCARACTERES,arquivo). Entretanto no segundo argumento da função o

ideal seria MAXCARACTERES - 1, por que a string resultante sempre terminará com o caractere contrabarra zero



4. Re: Como Ler/Escrever/Editar Arquivos em C++ ? [RESOLVIDO]

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 01/10/2014 - 11:27h

Ops , desculpe , me esqueci na hora de fazer o programa.

Vou ver se é muito complexo fazer programas com arquivos em C++

Mas mesmo assim , obrigado

T+


5. Re: Como Ler/Escrever/Editar Arquivos em C++ ? [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 01/10/2014 - 11:29h

Eu estou aprendendo c++ também, e pelo que eu dei uma olhada em arquivos não é mais difícil não.

Se você conseguir se virar no inglês dê uma olhada nesse link:

http://www.cplusplus.com/doc/tutorial/files/


6. Re: Como Ler/Escrever/Editar Arquivos em C++ ? [RESOLVIDO]

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 01/10/2014 - 11:33h

Vc tem skype ?

Se sim , podemos trocar umas ideias melhor por lá

Me add (thihup);

T+


7. Re: Como Ler/Escrever/Editar Arquivos em C++ ? [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 01/10/2014 - 11:36h

Tenho sim, quando entrar eu te adiciono lá. Boa sorte no aprendizado dessa poderosa linguagem de programação.


8. Re: Como Ler/Escrever/Editar Arquivos em C++ ? [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 01/10/2014 - 23:33h

paulo1205 escreveu:

4C75636173 escreveu:

Só uma correção no seu código de C, a linha 17:

Você usou a função fgets() assim: fgets(frase,MAXCARACTERES,arquivo). Entretanto no segundo argumento da função o

ideal seria MAXCARACTERES - 1, por que a string resultante sempre terminará com o caractere contrabarra zero


Sua correção está errada. O certo é mesmo do jeito como ele tinha feito. A função fgets() já se encarrega internamente de deixar o último dos caracteres reservado para o byte nulo (i.e.: se MAXCARACTERES vale 100, a função lê no máximo 99 caracteres e põe um '\0' na centésima posição).


Agradeço a correção. Eu tinha aprendido que tinha que deixar o tamanho do vetor - 1. Não sabia que função fazia esse

trabalho internamente.

Tihup descarte a minha observação, o seu código está correto.


9. Re: Como Ler/Escrever/Editar Arquivos em C++ ? [RESOLVIDO]

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 01/10/2014 - 23:36h

Ta tudo bem

So faltou me add no skype

T+


10. Re: Como Ler/Escrever/Editar Arquivos em C++ ? [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 01/10/2014 - 23:50h

É que não entrei ainda por causa da correria. Quando entrar te adiciono lá.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts