asantos38 Postado Agosto 19, 2019 Denunciar Share Postado Agosto 19, 2019 (editado) 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; } Editado Agosto 19, 2019 por asantos38 corrigir texto Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vangodp Postado Agosto 21, 2019 Denunciar Share Postado Agosto 21, 2019 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 😉 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
asantos38
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:
corrigir texto
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.