Pagina 1 di 1

Problema sui files in c++

MessaggioInviato: 29/06/2018, 09:24
da SalvatCpo
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

// Scrivi un programma contenente una funzione che legge tutti i numeri inseriti, uno per riga, in un file di
// testo, li scriva su un altro file raddoppiandoli.
void funzione (char nomefile[10]);
int main () {
funzione ("f");
system ("PAUSE");
return 0;
}
void funzione (char nomefile[10]) {
FILE *z;
z = fopen (nomefile, "r");
FILE *m;
m = fopen("m.dat", "w");
int l=0, b;
do {
fscanf (z, "%d\n", l);
fprintf (m, "%d\n", 2*l);
printf ("%d", l);
} while (!feof(z));
}


Il file f contiene dei numeri in riga:
22
55
34
...

Eppure il risultato dell'esecuzione è questo:


Immagine



Immagine

Cosa c'è che non va?

Re: Problema sui files in c++

MessaggioInviato: 29/06/2018, 10:30
da Raptorista
Compilando il tuo codice vedo questo:
Codice:
$ gcc main.c
main.c: In function 'funzione':
main.c:21:20: warning: format '%d' expects argument of type 'int *', but argument 3 has type 'int' [-Wformat=]
         fscanf (z, "%d\n", l);
                    ^

che è abbastanza per capire dov'è il problema, direi.

Re: Problema sui files in c++

MessaggioInviato: 29/06/2018, 10:43
da SalvatCpo
Ho aggiunto & (la E commerciale) come si fa nella scanf. L'ho messa ovviamente prima di l come sembra suggerire il tuo warning, ma l'errore persiste.

Re: Problema sui files in c++

MessaggioInviato: 29/06/2018, 10:54
da Raptorista
Con la modifica che hai scritto tu funziona correttamente sul mio computer.

Re: Problema sui files in c++

MessaggioInviato: 29/06/2018, 10:57
da SalvatCpo
Okay, grazie per il tuo aiuto :)

Re: Problema sui files in c++

MessaggioInviato: 29/06/2018, 10:58
da Raptorista
Quello che voglio dire è che il codice è corretto, assicurati di aver ricompilato e cancella tutti i file temporanei.

Re: Problema sui files in c++

MessaggioInviato: 29/06/2018, 11:09
da SalvatCpo
Si, ho fatto, ma il problema è sempre lo stesso. Non mi resta che fidarmi del tuo computer :)

Re: Problema sui files in c++

MessaggioInviato: 29/06/2018, 11:12
da Raptorista
Che compilatore stai usando? C'è qualche messaggio in output di compilazione?

Re: Problema sui files in c++

MessaggioInviato: 29/06/2018, 11:28
da SalvatCpo
Uso dev c++ come indicato dalla docente.
L'unico messaggio è il seguente ed è riferito alla riga dove scrivo: funzione ("f"), cioè quando invoco la funzione.
[Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]