Jump to content
Fórum Script Brasil
  • 0

arquivo .dat vazio depois de tentativa de gravar nele.


Question

Boa noite a todos.

Estou tentando gravar uma struct em um arquivo, mas toda vez que executo, o arquivo continua vazio.

Estou usando o xcode em mac air. E já verifiquei se o arquivo tem as permissões exigidas.

Segue o código:

//
//  main.c
//  arquivos3
//
#include <stdio.h>
#include <stdlib.h>

struct Pessoa{
    char nome[20];
    unsigned int idade;
    float altura;
};

int main(int argc, const char * argv[]) {
    // insert code here...
    FILE* ptr;
    char* filename = "arq_teste.dat";
    char* modo_gravacao = "w";
    struct Pessoa pessoa = {"Fernando Santos", 42, 1.75};
    
    //Abre o arquivo para gravação; se ocorrer erro o programa aborta.
    if ((ptr = fopen(filename, modo_gravacao)) == NULL) {
        puts("Erro ao abrir o arquivo!");
        exit(1);
    }
    
    fwrite(&pessoa, sizeof(struct Pessoa), 1, ptr);
    
    fclose(ptr);
    
    
    
    return 0;
}

 

Edited by asantos38
corrigir texto
Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

para saber se o arquivo ta vazio ou não da uma olhada no tamanho do arquivo. Averigue se o tamanho do arquivo é o mesmo do sizeof da tal struct que você enviou para o arquivo. você pode usar um editor hexadecimal para ver o conteúdo do tal arquivo binário.

Ah!!! E o mais importante é que se é arquivo binario o modo de abertura deveria ser w+b 😉

Link to post
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.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148681
    • Total Posts
      644506
×
×
  • Create New...