Arquivos binários em C

No código a seguir é explicado como abrir arquivos em modo binário e carregá-los na memória, o procedimento é bem simples.

//Vamos supor que temos um arquivo chamado "arquivoBin.txt"
//e neste arquivo esta gravado uma matriz[10][10] de char;

//Primeira maneira é ler byte a byte a matriz
int main(int argc, char **argv){
    FILE *fp; //ponteiro para arquivo
    int i, j;
    matriz[10][10];//onde será carregado o arquivo
    fp = fopen("arquivoBin.txt","rb");//inclua um teste de retorno
    for(i=0; i<10; i++){
        for(j=0; j<10; j++){
            fread(&matriz[i][j], sizeof(char),1,novo); //le byte a byte
        }
    }
//Após a execução a matriz[][] está com os valores na memória
//Agora já pode utiliza-lá como quiser, se quiser valores do tipo int
//é só fazer um casting dos valores.
//....
}

//A outra maneira é ler tudo de uma vez.
int main(int argc, char **argv){
    FILE *fp; //ponteiro para arquivo
    int i, j;
    matriz[10][10];//onde será carregado o arquivo
    fp = fopen("arquivoBin.txt","rb");//inclua um teste de retorno
    fread(&matriz, sizeof(char), 100, fp);//le os 100bytes da matriz

//A matriz esta na memória é só utiliza-lá...
}

Para guardar em um arquivo o procedimento é o mesmo só trocando a função
fread() por fwrite().

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s