Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    [C] vantaggio con stdin-stdout

    Ciao, frequentando il forum noto spesso l'utilizzo delle funzioni
    codice:
    fscanf(stdin,"   ",...);
    fprintf(stdout,"    ",...);
    rispettivamente con stdin e stdout mi chiedo se esista un vantaggio rispetto
    all'uso delle funzioni scanf e printf ?

    So che l'utilizzo della funzione fgets(variabile,int,stdin) comporta il vantaggio di definire
    il numero di caratteri da leggere , quindi migliore di gets
    ma sulle altre funzioni esiste un vantaggio ?
    Tecnologia

  2. #2
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    A mio parere sono equivalenti,printf è la versione semplice di fprintf fatta con lo scopo di non perdere tempo a scrivela intera,senza contare che chi impara per la prima volta non sa cosa sono stdin e stdout per cui l' usare la fprintf o la fscanf creerebbe solo confusione.

  3. #3
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    ciao

    Si credo anche io che siano equivalenti ,volevo un parere da altre persone grazie della risposta
    Tecnologia

  4. #4
    Sono perfettamente equivalenti. Lo standard dice esplicitamente:
    §7.19.6.3 ¶2
    The printf function is equivalent to fprintf with the argument stdout interposed before the arguments to printf.

    §7.19.6.4 ¶2
    The scanf function is equivalent to fscanf with the argument stdin interposed before the arguments to scanf.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Evidentemente qualcuno, convintosi che printf() e scanf() siano funzioni brutte e cattive da evitare assolutamente, ha "pensato bene" di ricorrere a fprintf() e fscanf() richiamate rispettivamente su stdout e stdin, senza sapere innanzitutto che non cambia nulla e poi che i presunti problemi delle due funzioni sono *generalmente* evitabili con un po' di attenzione.
    every day above ground is a good one

  6. #6
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Originariamente inviato da YuYevon
    Evidentemente qualcuno [...] ha "pensato bene" di ricorrere a fprintf() e fscanf() richiamate rispettivamente su stdout e stdin, senza sapere innanzitutto che non cambia nulla e poi che i presunti problemi delle due funzioni sono *generalmente* evitabili con un po' di attenzione.
    Se trovo chi è stato lo ammazzo,eheh no calma ragazzi.non andate a guardare la cronologia dei miei post

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.