Una domanda banale...qual è la sintassi giusta nelle parentesi per usare fscanf(...) e fprintf(...)
Ciao.
Una domanda banale...qual è la sintassi giusta nelle parentesi per usare fscanf(...) e fprintf(...)
Ciao.
Nello specifico:codice:fscanf(FILE *f, const char *type, void *param1, ...); fprintf(FILE *f, const char *type, void const param1, ...);
fscanf si aspetta un puntatore al file da cui leggere, la stringa dei tipi di lettura e le aree di memoria in cui scrivere, coerentemente con i tipi richiesti:
Esempio
La fprintf scrive in f, puntatore al file, il contenuto dei parametri, nel rispetto della stringa di tipicodice:FILE *f; char *s; int i; . . . // Supponendo che la fopen() in lettura e la feof() // vadano a buon fine // leggo da file una stringa, che pongo in s, ed un intero, che // scrivo in i, separati da spazio fscanf(f, "%s %d", s, &i);
Esempio:
Sono identiche e precise alle cugine scanf() e printf()codice:FILE *f; char *s; int i; . . . // Supponendo che la fopen() in scrittura // scrivo in file la stringa s e l'intero i // separati da spazio fprintf(f, "%s %d", s, i);
Diego Purpo
Effetti Collaterali - Il lato oscuro dell'informatica
Infocube
Sviluppo Software
diego.purpo[at]effetticollaterali.it
quindi se io dovessi prendere da un file e scrivere in un altro dovrei fare:
basta mettere un %d se ad esempio devo leggere da un file di testo il numero 11 (o comunque un numero a 2 cifre)? :master:codice:FILE *f; FILE *p; int s; ... fscanf(f,"%d",&s); fprintf(p,"%d",s); ...
Esattamente. Con %d leggi un intero fino ad un carattere delimitatore come lo spazio.basta mettere un %d se ad esempio devo leggere da un file di testo il numero 11 (o comunque un numero a 2 cifre)?
Se nel file ci fosse scritto 'c' e tu leggi con %d, quindi come intero, esegue la conversione ASCII del carattere c.
Diego Purpo
Effetti Collaterali - Il lato oscuro dell'informatica
Infocube
Sviluppo Software
diego.purpo[at]effetticollaterali.it
Ho capito...allora ho spiegato giusto alla mia amica...fa economia ma ha un esame di informatica. Io faccio informatica all'università però ho fatto poco poco di C dato che di solito si usa il java...quindi prima dirgli qualche stupidata meglio chiedere conferme!
ehm.... Anch'io faccio l'università, informatica, ma studiamo molti linguaggi di programmazione:
- Pascal per scopi didattici e di impostazione
- C per la programmazione dei sistemi UNIX e per applicazioni scentifiche
- C++ per approccio rigido alla programmazione ad oggetti
- Java per sviluppo applicazioni complesse
- Php per applicazioni web
- Matlab per applicazioni matematiche e simulazione funzioni booleane
- Perl, lex, byson per la gestione di testi, espressioni regolari e creazione compilatori
- Prolog e Lisp per programmazione dichiarativa
ma la lista continua...
Diego Purpo
Effetti Collaterali - Il lato oscuro dell'informatica
Infocube
Sviluppo Software
diego.purpo[at]effetticollaterali.it
Secondo me non serve a molto fare tante cose. meglio impararne una fatta bene e al massimo uno sguardo alle altre...altrimenti c'è il rischio di finire a sapere niente di tutto
Qualcuno mi può dire se anche in C esiste una funzione che restituisce il resto di una divisione??
Se io creo una funzione che mi deve ritornare un vettore di che tipo deve essere la funzione?
E' il semplice operatore % (modulo) resto=op%op2;Originariamente inviato da Matteo982
Qualcuno mi può dire se anche in C esiste una funzione che restituisce il resto di una divisione??
grazie...e per la cosa delle funzione?
ps: per i moderatori...avevo inviato una segnalazione perchè non riuscivo a cancellare il messaggio però visto che nell'altra discussione in cui lo avevo scritto ho modificato non c'è più bisogno di cancellare questo...scusate per il disturbo