Ciao ragazzi, sto imparando i file in c e mi sono intoppato quando dovevo risolvere questo problema:

Ho un file "dati.txt" con all'interno una serie di numeri positivi e negativi
________________
-4
4
5
-78
2
________________

devo leggere i dati nel file e stampare a video solo i numeri positivi.

Il codice prodotto da me:

#include <cstdlib>
#include <iostream>



int main(int argc, char *argv[])
{
FILE *pfile;
int valore;

pfile = fopen ("dati.txt", "r");

if (pfile != NULL)
{
while (!feof(pfile))
{
fscanf(pfile,"%d",valore);
if (valore >0)
printf("%d",&valore);

}

fclose(pfile);
system("PAUSE");
}
else
{
printf("File non trovato..");
}

system("PAUSE");
return EXIT_SUCCESS;
}


Quando runno il prog il pc s'impalla O__________________o