Passa al tema normale
Discussioni su argomenti di Informatica

Regole del forum

Consulta il nostro regolamento e la guida per scrivere le formule
Rispondi al messaggio

Problema sui files in c++

29/06/2018, 09:24

#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++

29/06/2018, 10:30

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++

29/06/2018, 10:43

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++

29/06/2018, 10:54

Con la modifica che hai scritto tu funziona correttamente sul mio computer.

Re: Problema sui files in c++

29/06/2018, 10:57

Okay, grazie per il tuo aiuto :)

Re: Problema sui files in c++

29/06/2018, 10:58

Quello che voglio dire è che il codice è corretto, assicurati di aver ricompilato e cancella tutti i file temporanei.

Re: Problema sui files in c++

29/06/2018, 11:09

Si, ho fatto, ma il problema è sempre lo stesso. Non mi resta che fidarmi del tuo computer :)

Re: Problema sui files in c++

29/06/2018, 11:12

Che compilatore stai usando? C'è qualche messaggio in output di compilazione?

Re: Problema sui files in c++

29/06/2018, 11:28

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]
Rispondi al messaggio


Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000— Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.