Ir para conteúdo
Fórum Script Brasil

Andreza Galvão

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Andreza Galvão

Andreza Galvão's Achievements

0

Reputação

  1. Bom dia, pessoal Estou com um erro na gravação de conteúdo em arquivo.. Segue o código. Estar dando erro no final da função salvarA, onde no final dessa função eu chamo a função salva para gravar as informações que eu acabei de digitar. typedef struct Funcionario{ int cod; char nome[50]; char cpf[15]; char data_nascimento[11]; double salario; } Funcionario; void salva(Funcionario *func, FILE *out){ if((out = fopen("Funcionarios.dat", "ab"))== NULL){ printf("Erro ao abrir o arquivo\n"); exit(1); } fwrite(&func->cod, sizeof(int),1,out); fwrite(func->nome, sizeof(char), sizeof(func->nome), out); //string já é ponteiro, por isso não coloca &. fwrite(func->cpf, sizeof(char), sizeof(func->cpf), out); fwrite(func->data_nascimento, sizeof(char), sizeof(func->data_nascimento), out); fwrite(&func->salario, sizeof(double), 1, out); fclose(out); } Funcionario *le(FILE *in){ if((in = fopen("Funcionarios.dat", "rb")) == NULL){ printf("Erro ao abrir o aqrquivo\n"); exit(1); } Funcionario *func = (Funcionario *) malloc(sizeof(Funcionario)); if(0 >= fread(&func->cod, sizeof(int),1,in))//fread() permite a leitura de um bloco de bytes em arquivos{ { free(func); //Liberar e evitar vazamento de memória return NULL; } fread(func->nome, sizeof(char), sizeof(func->nome),in); fread(func->cpf, sizeof(char), sizeof(func->cpf),in); fread(func->data_nascimento, sizeof(char), sizeof(func->data_nascimento),in); fread(&func->salario, sizeof(double), 1, in); fclose(in); return func; } void salvarA(FILE *in){ Funcionario func; printf("Codigo: "); scanf("%d", func.cod); printf("Nome: "); scanf("%s", func.nome); printf("Cpf: "); scanf("%s", func.cpf); printf("Data de nascimento: "); scanf("%s", func.data_nascimento); printf("Salario: "); scanf("%lf", func.salario); salva(func,in); // O ERRO ESTÁ AQUI. O ERRO INFORMADO É ESSE: error: incompatible type for argument 1 of 'salva' }
×
×
  • Criar Novo...