MsK20 0 Posted November 27, 2010 Report Share Posted November 27, 2010 boas pessoal! bem... sou novo por estes lados, tanto que este é o meu 1º post 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! Link to post Share on other sites
Localhost 3 Posted November 27, 2010 Report Share Posted November 27, 2010 Qual é o conteúdo do ficheiro? here since 2009 Link to post Share on other sites
MsK20 0 Posted November 27, 2010 Author Report Share Posted November 27, 2010 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! Link to post Share on other sites
BELGA 0 Posted November 28, 2010 Report Share Posted November 28, 2010 Alocas um vector com o tamanho do ficheiro em Bytes, depois basta leres o ficheiro byte a byte e ires guardando no vector. valterc.pt.vc Link to post Share on other sites
MsK20 0 Posted November 28, 2010 Author Report Share Posted November 28, 2010 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"? Link to post Share on other sites
lordfokas 0 Posted December 4, 2010 Report Share Posted December 4, 2010 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 Link to post Share on other sites
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now