Funzione C ++ getline

Funzione C ++ getline
Getline () viene utilizzato per ottenere la stringa di input dall'utente in una o più righe fino a quando non arriva un carattere speciale (delimitatore). È una funzione predefinita e utilizza una libreria nel programma, poiché la sua definizione è presente all'interno del file di intestazione della libreria.
#

Questo articolo spiegherà molti esempi di base per spiegare il funzionamento della funzione getline ().

Prerequisito

Abbiamo usato il 20.04 Versione di Ubuntu; Puoi usare l'ultimo. Per l'implementazione, è necessario disporre di un editor di testo e accedere al terminale Linux perché saremo in grado di vedere l'output dei codici di origine sul terminale attraverso la query.

Sintassi della funzione getline ()

La funzione getline () è spiegata in base ai parametri utilizzati all'interno della funzione getline.

# istream & getline (istream & is, string & str, char delim)

Ora spiegheremo ogni parametro di questa sintassi uno per uno.

  • STR: questo parametro rappresenta l'oggetto stringa in cui il valore di input viene memorizzato quando il valore lo accetta dal flusso di input.
  • Delim: questo parametro rappresenta il carattere che mostra il delimitatore che contiene il valore fino al quale deve essere visualizzata la stringa di input.

Esempio 1

Questo esempio utilizza un semplice esempio della funzione getline () nel programma. In semplici programmi C ++, abbiamo bisogno di una libreria iostream in semplici programmi C ++, ma qui oltre a questa libreria, abbiamo usato un'altra libreria che utilizza GetLine () nel codice sorgente C ++.

# includere

Arrivando al programma principale, una variabile stringa viene dichiarata qui per accettare il messaggio di stringa dall'utente. Quando eseguiamo il codice nel terminale, l'utente arriverà a vedere un messaggio che viene visualizzato in cui il sistema chiede all'utente di inserire il messaggio String; Questo messaggio verrà nuovamente visualizzato dopo una processione. La funzione getline () accetterà la frase immessa dall'utente.

# Getline (cin, messaggio);

Lo stesso messaggio verrà visualizzato senza alcuna modifica. Applicheremo alcune modifiche dopo che il valore è stato inserito in esempi futuri.

Salva il codice nel file con l'estensione di C ++/C.

Eseguire il comando nel terminale Ubuntu. Per compilare il codice sorgente, abbiamo bisogno di un compilatore. Per il codice C ++, abbiamo bisogno di un compilatore G ++ per compilare il codice.

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

All'esecuzione, viene visualizzato un messaggio; devi inserire il tuo messaggio. In modo che il sistema visualizzi l'uscita.

Ora qui stiamo fornendo lo stesso scenario in modo diverso. Come sappiamo, proprio come la funzione getline, "CIN" viene anche utilizzato per ottenere il valore dall'utente. Ma ci sono alcuni demeriti dell'utilizzo di CIN al posto o con la funzione getline. Qui abbiamo usato un esempio, in cui abbiamo usato CIN invece di getline, per vedere l'effetto di questo cambiamento. Tutte le altre cose sono le stesse. Ad esempio, le biblioteche sono le stesse. L'intero programma è scritto all'interno del programma principale.

Ora salva il file ed eseguilo nel terminale Ubuntu. Quando compiliamo il codice e poi lo eseguiamo, il sistema richiederà di nuovo un messaggio di stringa da noi. Scriveremo la stessa stringa. Utilizzando la chiave "Invio", vedrai che l'intera stringa non viene visualizzata. Viene visualizzata una sola parte della stringa. Questo perché "CIN" accetta il valore dall'intera stringa fino a quando non trova il primo spazio. Questo è il motivo per cui l'output è ridotto da quello originale. Per accettare l'intera stringa, utilizzare la funzione getline (). Compilare il codice e quindi eseguirlo.

Esempio 2

Nell'esempio precedente, come usando "CIN", abbiamo limitato il valore. Ma è ovvio in "CIN"; Il valore è sempre ridotto al primo vuoto nella stringa data. Ma in questo esempio, utilizzando la funzione getline (), abbiamo limitato il valore nell'istruzione di input applicando una condizione speciale. Secondo la condizione data, forniamo un alfabeto nel programma. Durante l'esecuzione del codice, quando questo alfabeto arriva nell'intera stringa per la prima volta, il compilatore smette di stampare l'intera stringa e un pezzo di stringa dall'inizio fino a quando quell'alfabeto viene visualizzato sullo schermo come valore risultante.

# Getline (cin, messaggio, 'i');

In questo esempio, puoi vedere che abbiamo usato "I" nella funzione getline () all'interno del codice sorgente. Puoi usare qualsiasi altro alfabeto di tua scelta.

Ora, dopo la compilazione, eseguire il codice sul terminale. Dal valore risultante, è chiaro che abbiamo usato 'i' nella stringa di input, quindi gli alfabeti che vengono prima di questo alfabeto appariranno come output.

Esempio 3

In questo esempio, invece di utilizzare l'alfabeto per la visualizzazione di criteri, usiamo il numero dell'indice qui. Il compilatore prenderà il record desiderato secondo il numero dell'indice. Il numero dell'indice che viene fornito nella funzione cesserà l'ulteriore recupero del record. Ad esempio, abbiamo usato il numero "7", quindi il messaggio verrà visualizzato in posizione 6 nell'indice.

In questo esempio, vedrai anche che c'è un leggero cambiamento nello scrivere la funzione getline (). Nell'esempio precedente, abbiamo usato "CIN" all'interno dei parametri di GetLine. Ma questa volta, abbiamo usato una tecnica diversa per scrivere questa funzione.

# Cin.getline (messaggio, 7);

Quando eseguiamo il codice, vedremo che abbiamo inserito un nome con due parole con uno spazio tra loro. Ma per richiedere il programma, vedremo che il nome viene visualizzato fino alla sesta posizione dell'indice.

Esempio 4

Questo esempio visualizzerà la stringa in modo che ogni parola venga visualizzata nella riga successiva. Questo esempio utilizza una nuova libreria anziché altri, poiché la funzione di questa libreria include già lo streaming input/ output. E consente anche la lettura e la scrittura nel file. Ciò comporta anche la visualizzazione dei valori di una stringa bit. Facci sapere di capire l'esempio. Una variabile ottiene il valore fornito dall'utente tramite una funzione getline. L'altra variabile aiuta a dividere le parole nella stringa e spostarle alla riga successiva.

# Getline (cin, s);

Dopo aver ottenuto il valore, questo valore divide quindi il valore e lo inserisce in un'altra variabile, "X". per la funzione di visualizzazione; Useremo un while loop qui.

# Stringstream x (s);

Secondo il ciclo, il valore verrà stampato fino a quando il valore non sarà presente nell'istruzione. Il corpo del loop prende una sola parola dalla frase completa e la taglia dove è presente lo spazio o viene prima. Questa condizione è riportata nel ciclo.

# While (getline (x, t, "))

È possibile vedere il valore risultante eseguendo il codice dopo la compilation.

Conclusione

Questo articolo ha visualizzato alcuni esempi elementari per spiegare il concetto di funzione getline (). È possibile utilizzare il sistema operativo Linux per l'elaborazione. Abbiamo spiegato diversi esempi per spiegare il funzionamento di questa funzione. Ogni esempio descrive il funzionamento di questa funzione in modo diverso.