Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: [C] sintassi fscanf

  1. #1

    [C] sintassi fscanf

    Una domanda banale...qual è la sintassi giusta nelle parentesi per usare fscanf(...) e fprintf(...)

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  2. #2
    codice:
    fscanf(FILE *f, const char *type, void *param1, ...);
    fprintf(FILE *f, const char *type, void const param1, ...);
    Nello specifico:

    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

    codice:
    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);
    La fprintf scrive in f, puntatore al file, il contenuto dei parametri, nel rispetto della stringa di tipi
    Esempio:
    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);
    Sono identiche e precise alle cugine scanf() e printf()

  3. #3
    quindi se io dovessi prendere da un file e scrivere in un altro dovrei fare:

    codice:
    FILE *f;
    FILE *p;
    int s;
    ...
    fscanf(f,"%d",&s);
    fprintf(p,"%d",s);
    ...
    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:
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  4. #4
    basta mettere un %d se ad esempio devo leggere da un file di testo il numero 11 (o comunque un numero a 2 cifre)?
    Esattamente. Con %d leggi un intero fino ad un carattere delimitatore come lo spazio.

    Se nel file ci fosse scritto 'c' e tu leggi con %d, quindi come intero, esegue la conversione ASCII del carattere c.

  5. #5
    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!
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  6. #6
    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...

  7. #7
    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
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  8. #8
    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?
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  9. #9
    Originariamente inviato da Matteo982
    Qualcuno mi può dire se anche in C esiste una funzione che restituisce il resto di una divisione??
    E' il semplice operatore % (modulo) resto=op%op2;

  10. #10
    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
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.