C ++ fprintf () - Libreria standard C ++

La funzione fprintf () in C ++ viene utilizzata per scrivere una stringa formattata nel flusso di file.

prototipo fprintf ()

 int fprintf (FILE * stream, const char * format,…);

La fprintf()funzione scrive la stringa a cui punta il formato nel flusso del flusso. Il formato della stringa può contenere identificatori di formato che iniziano con% che vengono sostituiti dai valori delle variabili che vengono passati alla fprintf()funzione come argomenti aggiuntivi.

È definito nel file di intestazione.

Parametri fprintf ()

  • stream: puntatore a un flusso di file di output in cui vengono scritti i contenuti.
  • format: puntatore a una stringa terminata da null che viene scritta nel flusso di file. Consiste di caratteri insieme a identificatori di formato opzionali che iniziano con%.

    Gli identificatori di formato vengono sostituiti dai valori delle rispettive variabili che seguono la stringa di formato.

    L'identificatore di formato ha le seguenti parti:

    • Un segno di% iniziale
    • Flag: uno o più flag opzionali che modificano il comportamento di conversione.
      • -: Giustifica a sinistra il risultato all'interno del campo. Per impostazione predefinita è giustificato a destra.
      • +: Il segno del risultato viene aggiunto all'inizio del valore, anche in caso di risultati positivi.
      • Spazio: se non è presente alcun segno, viene aggiunto uno spazio all'inizio del risultato.
      • #: Viene eseguita una forma alternativa di conversione.
      • 0: viene utilizzato per numeri interi e in virgola mobile. Gli zeri iniziali vengono utilizzati per riempire i numeri anziché lo spazio.
    • Larghezza: un valore intero * o facoltativo utilizzato per specificare il campo di larghezza minima.
    • Precisione: un campo opzionale costituito da un file. seguito da * o intero o niente per specificare la precisione.
    • Lunghezza: un modificatore di lunghezza opzionale che specifica la dimensione dell'argomento.
    • Specifier: un identificatore del formato di conversione. Gli identificatori di formato disponibili sono i seguenti:
      Identificatore di formato Descrizione
      % Stampe%
      c Scrive un singolo carattere
      S Scrive una stringa di caratteri
      do i Converte un intero con segno in una rappresentazione decimale
      o Converte un intero senza segno in una rappresentazione ottale
      X o x Converte un intero senza segno in una rappresentazione esadecimale
      u Converte un intero senza segno in una rappresentazione decimale
      F o f Converte il numero a virgola mobile nella rappresentazione decimale
      E o e Converte il numero a virgola mobile nella notazione esponente decimale
      A o a Converte il numero a virgola mobile nell'esponente esadecimale
      G o g Converte il numero a virgola mobile in notazione esponente decimale o decimale
      n Restituisce il numero di caratteri scritti finora da questa chiamata alla funzione. Il risultato viene scritto nel valore puntato dall'argomento
      p Scrive una sequenza di caratteri definita dall'implementazione che definisce un puntatore.

      Quindi il formato generale dell'identificatore di formato è: %(flags)(width)(.precision)(length)specifier

  • …: Altri argomenti aggiuntivi che specificano i dati da stampare. Si verificano in una sequenza in base all'identificatore di formato.

fprintf () Restituisce il valore

In caso di successo, la fprintf()funzione restituisce il numero di caratteri scritti. In caso di fallimento restituisce un valore negativo.

Esempio: come funziona la funzione fprintf ()

 #include int main() ( FILE *fp; fp = fopen("example.txt","w"); char lang(5)(20) = ("C","C++","Java","Python","PHP"); fprintf(fp,"Top 5 programming language"); for (int i=0; i<5; i++) fprintf(fp, "%d. %s", i+1, lang(i)); fclose(fp); return 0; )

Quando esegui il programma, verrà creato un file "esempio.txt" (se non esiste già) e contiene la seguente stringa:

 I 5 migliori linguaggi di programmazione 1. C 2. C ++ 3. Java 4. Python 5. PHP

Articoli interessanti...