I am not able to write data in binary to a file using the C language. Even using 'wb' the output of the file are characters. How can I proceed? Here's part of my code:
void cadastrar(void)
{
if((fp=fopen("Jogos.dat", "wb"))==NULL)
{
printf("\nO arquivo nao pode ser aberto!\n");
getch();
exit(1);
}
fseek(fp,0L, SEEK_END);
do
{
printf("\n Digite o Nome do Jogo ('FIM' para sair): ");
gets(reg[quantidade_cadastro].nome_jogo);
if ((strcmp(reg[quantidade_cadastro].nome_jogo,"fim")!=0)&&(strcmp(reg[quantidade_cadastro].nome_jogo,"FIM")!=0))
{
printf("\n Ano de Lancamento: ");
scanf("%d",®[quantidade_cadastro].ano_lancamento);
fflush(stdin);
printf("\n Genero: ");
gets(reg[quantidade_cadastro].genero);
printf("\n Plataforma: ");
gets(reg[quantidade_cadastro].plataforma);
reg[0].status='1';
if(fwrite(®, sizeof(struct registro), 1, fp) != 1)
{
printf("\nErro de Gravacao :/");
getch();
}
else
{
quantidade_cadastro++;
printf("\n Jogo Gravado no Arquivo!\n\n");
}
}
}while((strcmp(reg[quantidade_cadastro].nome_jogo,"fim")!=0)&&(strcmp(reg[quantidade_cadastro].nome_jogo,"FIM")!=0));
fclose(fp);}