Ciao a tutti,

stavo esercitandomi sulle struct e sulle operazioni con i file, ma gia al primo tentativo il compilatore protesta...in particolare

#include <stdio.h>
#include <stdlib.h>

int main ()

{

struct prova
{
int acconto;
char nome[25];
float saldo;
};
FILE *ptr,*ptr2,*ptr3;
ptr=fopen("c:\\oldmast.dat","r");
ptr2=fopen("c:\\trans.dat","r");
ptr3=fopen("c:\\newmast.dat","w");

struct prova Data;

if(ptr==NULL)
perror("");
else
{
while(ptr!=NULL)
{
fscanf(ptr,"%d %s %f",Data.&acconto,Data.nome,Data.&saldo);
}
}
system("pause");
}

Questo codice non si compila, dice che errata la & davanti ad acconto e saldo....eppure quando io faccio una normale scanf la &bisogna metterla...come mai se faccio fscanf saltano fuori questi problemi?

il file oldmast contiene solo una riga per la cronaca ed e fatto cosi

10 pippo 12.5\nEOF

Grazie a tutti per le risp!

Saluti!