Ir para conteúdo
Fórum Script Brasil
  • 0

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


shiroyamacah

Pergunta

2 respostass a esta questão

Posts Recomendados

  • 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!

Editado por bruce845
Link para o comentário
Compartilhar em outros 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

Editado por General Shepherd
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...