C ++ Sprintf

C ++ Sprintf

Nel linguaggio di programmazione C ++, ti imbatterai in molte conversioni e copierai i dati da un file o da una variabile a un altro, come la conversione da int a string, array di caratteri a stringa. Un simile tipo di conversione sarà discusso nel presente documento in cui i personaggi delle stringhe di formato sono scritti al buffer. E i valori saranno ottenuti attraverso quella variabile buffer. Questo viene fatto attraverso una funzione in C ++ noto come sprint ().

Sintassi di sprintf ()

# int sprintf (char* buffer, const char* variabile);

Una variabile è un valore di input che vogliamo archiviare nel buffer. La funzione Sprintf, quando eseguita, restituisce il numero di caratteri presenti nel buffer. Altrimenti, viene restituito un valore negativo. La dimensione del buffer viene dichiarata al momento dell'inizializzazione; le dimensioni dovrebbero essere abbastanza grandi da archiviare una corda.

Implementazione di Sprintf ()

Per comprendere il funzionamento di Sprintf, vedere gli esempi seguenti che contengono diversi metodi di utilizzo di questa funzione nel codice sorgente di C ++ in modo che il compilatore possa eseguirlo nel terminale Ubuntu.

Esempio 1

L'implementazione dello sprintf contiene un esempio di esempio qui. La funzione principale sarà coinvolta nel calcolo del valore di PI, un valore assoluto in matematica. A tale scopo, dobbiamo usare la libreria matematica contenente tutte le funzionalità delle operazioni matematiche. La seconda libreria è stdio.H, che è anche un file di intestazione essenziale necessario per eseguire qualsiasi programma C ++.

#includere

Un array di caratteri viene inizializzato con una dimensione fissa nel programma principale. La variabile verrà utilizzata nella funzione sprint () come parametro. Poiché lo sprint viene utilizzato per copiare o scrivere la stringa formattata sul buffer della stringa dei caratteri, all'interno della funzione, useremo l'array di oggetti della variabile del carattere e la calcolatrice di matematica PI.

# Sprint (str, "valore di pi = %f", m_pi);

Questo porterà il valore di PI. Il valore buffer della funzione sprint viene utilizzato per visualizzare il valore. Come in questo esempio, viene utilizzato STR.

Il codice viene compilato ed eseguito da un compilatore di C ++, che è un compilatore G ++. Questo compilatore utilizza un file di input con il codice sorgente che hai salvato, un file di output in cui vogliamo visualizzare i risultati utilizzando '-o' nel comando.

file file file $ g ++ -o.C
$ ./file

Durante l'esecuzione, vedrai che il valore di PI viene visualizzato attraverso la funzione Sprint.

Esempio 2

Questa è un'altra istanza della funzione sprintf (). Una variabile di carattere viene inizializzata per convertire la stringa. Un'altra variabile di tipo intero viene utilizzata anche qui, a cui viene assegnato un valore intero. Entrambe le variabili verranno utilizzate nel parametro della funzione Sprint. La funzione Sprintf stampa la mia frase di età e la variabile di età verrà convertita nella variabile tampone.

# Sprintf (buffer, "La mia età è %d", età);

Per visualizzare il valore convertito, visualizzeremo il contenuto del buffer utilizzando un buffer.

Quando viene eseguito il file, vedrai che il buffer visualizzerà il valore inizializzato come valore intero.

Esempio 3

Verificheremo che tutti gli elementi dovrebbero essere presenti nel buffer. Nel programma principale, vengono create due variabili di diversi tipi di dati, un numero intero e un carattere. Una variabile di tipo intero viene utilizzata qui per lo scopo di conteggio dei caratteri. Qui scriveremo la combinazione delle variabili a variabili e stringhe. La combinazione verrà eseguita in modo tale che una frase sia scritta nella dichiarazione Cout insieme a variabili "%s" e "%d"; Questi due conterranno i valori di entrambe le variabili interi e del carattere inizializzate in precedenza.

In questo modo, sia la stringa che le variabili saranno scritte collettivamente alla variabile buffer. Ora la funzione di conteggio verrà utilizzata con la chiamata di funzione. Memorizzerà il valore che verrà restituito dallo sprint.

# Count = sprint (buffer, 'Sono %s e ho %anni, nome, età);

Dopo la funzione, il buffer viene visualizzato per mostrare il valore scritto in esso. Inoltre, la funzione di conteggio ha contato i caratteri totali che si formaranno quando le stringhe ed entrambe le variabili sono combinate. Ora eseguiremo il codice sorgente sopra.

Vedrai che la funzione Sprint ha visualizzato il messaggio con il nome e l'età incorporata all'interno della frase. Il contatore ha anche mostrato il numero totale di caratteri, inclusi tutti i caratteri di stringhe, sia le variabili che lo spazio tra ogni parola.

Esempio 4

Questo esempio funziona sullo stesso approccio che abbiamo usato per l'esempio precedente; Tutte le stringhe nell'istruzione e le variabili sono combinate con essere scritti nella variabile tampone. Viene creato un array di buffer di caratteri e la dimensione è menzionata qui. Due variabili di tipo intero memorizzeranno i valori e una terza variabile calcolerà la somma dei valori presenti nelle due variabili. Ora incorporemo tutte le variabili nella stringa.

# Sprint (buffer, "somma di %d e %d è %d", a, b, c);

La funzione Sprint utilizzerà le tre variabili casuali per assegnare i valori. Una cosa che dovrebbe essere mantenuta nella mente è che l'ordine delle variabili dovrebbe essere lo stesso. Il valore della somma verrà archiviato nella variabile buffer invece di stampare tramite stdout.

Eseguire il codice; I valori sono collegati alla stringa attraverso lo sprint.

Esempio 5

L'esempio si occupa del coinvolgimento dell'utente. Invece di prendere le variabili come input e l'istruzione stringa al momento dell'esecuzione dello sprint, abbiamo preso la stringa come input e il valore verrà dall'utente. Un array di caratteri stringa originale viene introdotto qui che contiene una stringa. Mentre un buffer è anche inizializzato con la dimensione specifica, il sistema chiederà all'utente di inserire il valore in intero; Questo valore verrà quindi usato per essere incorporato con la stringa che abbiamo preso.

Dopo aver inserito il valore, questo verrà ora utilizzato nella funzione Sprint.

# Sprint (buffer, "%s_%d", originale, n);

Sia l'affermazione originale che il valore intero saranno concatenati attraverso il sottocore invece di avere uno spazio tra di loro. Ora esegui l'istruzione per visualizzare i risultati.

Dopo aver inserito il valore da parte dell'utente, l'istruzione verrà visualizzata come combinazione di una stringa e un valore intero.

Conclusione

Il metodo Sprint () memorizza la stringa formattata nel buffer. Tutti i valori sono scritti nel buffer separatamente o collettivamente. Tutti questi casi sono spiegati in questo articolo attraverso esempi di base implementati in c++. La verifica del valore del buffer può essere ottenuta tramite la funzione di contatore che conta i caratteri della stringa. Questo può essere applicato a qualsiasi programma di sprint.