Jump to content
Sign in to follow this  
MsK20

Ler qualquer ficheiro modo binario

Recommended Posts

MsK20

boas pessoal!

bem... sou novo por estes lados, tanto que este é o meu 1º post  :cheesygrin:

estou a precisar de ajuda...

na faculdade pediram-nos para desenvolver um projecto que compacte um ficheiro qualquer...

O professor pediu que o ficheiro fosse lido para um vector e posteriormente trabalharei com os elementos do vector...

Bem, o problema esta mesmo em "Como é que faço para ler de um ficheiro binario para um vector"??

tenho colegas que falaram em qq coisa como ler buffer etc..

Ajudem please! é msm importante!  :D

Share this post


Link to post
Share on other sites
MsK20

Qual é o conteúdo do ficheiro?

pois é que é para ler um ficheiro qualquer! pode ser imagem, .pdf, .exe ... nos temos eh de ler o ficheiro em modo binario, enviar o lido do ficheiro (seja la o que for que é lido lol) para um vector!

Share this post


Link to post
Share on other sites
MsK20

Alocas um vector com o tamanho do ficheiro em Bytes, depois basta leres o ficheiro byte a byte e ires guardando no vector.

foi exactamente o que pensei ao inicio, mas tenho colegas que dizem que isso nao é muito bom... =/

alguem sabe explicar melhor isso do "buffer"? 

Share this post


Link to post
Share on other sites
lordfokas

abres o ficheiro em modo binário, para começar

FILE * Ficheiro;
Ficheiro = fopen("nome_do_ficheiro", "rb"); //RB = Read, Binary Mode

depois, assumindo que já tens o tamanho do ficheiro, lês tudo de uma vez:

int Tamanho; // tamanho do ficheiro
char * dados; // Vector para armazenar o ficheiro
int bytes_lidos=0;

...

bytes_lidos = fread(dados, 1, Tamanho, Ficheiro); // ler 'Tamanho' blocos de 1 byte de 'Ficheiro' para 'dados'
//É assumido que já foi feito um malloc, para dados ter o tamanho do ficheiro.

Isto deve resolver o assunto, se tudo correr bem.

Atenciosamente,

LordFokas

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.