Jump to content
Fórum Script Brasil
  • 0

Como salvar uma matriz char(ex:8x8) num arquivo?


shiroyamacah

Question

2 answers to this question

Recommended Posts

  • 0
eu vi como se salvavam frases, mas estou com dúvida de como salvar uma matriz em um arquivo.

e para acessar a matriz salva, como seria?

*estou começando arquivos mas é muito confuso para mim ainda....*

Bem, já tentou com vetores? Conseguiu?

tenta o seguinte:

abra o arquivo (tem que ser arquivo binário) e depois use fwrite somando a qtde. de linhas com a quantidade de colunas.

Ex.:

char matriz[5][5];

fwrite(matriz,sizeof(matriz),10,arquivo);

Para acessar a matriz salva, use o fread.

fread(matriz,sizeof(matriz),10,arquivo);

Não tenho certeza se funciona com matriz, mas vetor da!

Edited by bruce845
Link to comment
Share on other sites

  • 0

Só complementando, não há necessidade de ser em binário, basta usar o mesmo for que você usaria para imprimir a matriz na tela, mas ao invés de printf("%d", mat[j]), use fprintf(arq, "%d", mat[j]), onde "arq" é o seu arquivo, e "mat" a matriz. Ficaria + ou - assim:

for(i=0; i<linhas; i++){
    for(j=0; j<colunas; j++){
        fprintf(arq, "%d", mat[i][j]); //Grava os digitos, caso a matriz não seja de inteiros, apenas mude o %d por %c... etc
    }
    fprintf(arq,"\n"); //Dá quebra de linha
}
para ler aí já é mais complicado um pouco, mas não é um bicho de 7 cabeças
while(!feof(arq)){ //executa o while enquanto ainda houverem linhas à serem lidas
    fscanf(mat[i][j],"%d", arq); //Caso seja uma matriz de string, mude para fgets
    j++;
    if(j==colunas-1) //Onde "colunas", é o numero de colunas da matriz
        i++;
}

não testei esse ultimo codigo, ppor isso não garanto o seu funcionamento. Existem varias maneiras de se ler matriz de um arquivo, de uma procurado no google q voce encontrará bastante material. ;D

Edited by General Shepherd
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...