Come usare getline in C a Salta Cin.Ignore

January 6

chiamando ripetutamente la funzione "getline" è una sicura alternativa all'uso del "cin >>" operatore e la funzione "ignora" per elaborare l'input in C / C ++ programma. L'operatore "cin >>" non scarta automaticamente il carattere di nuova riga dal flusso di input, quindi è necessario chiamare la funzione "ignora" di disfarsene manualmente. In caso contrario, una successiva chiamata della funzione "getline" leggerà nel carattere di nuova riga preesistente e risultare in una stringa vuota. La funzione "getline" scarta automaticamente il carattere di nuova riga, quindi non è necessario chiamare la funzione "ignora" dopo.

istruzione

1 Aprire il C ++ file sorgente con un programma di editing di codice C /.

2 Includere i seguenti file nel programma per accedere al "getline" e funzioni "strtol" aggiungendo il seguente codice nella parte superiore del file:

includere <cstdlib> // strtolinclude <iostream> // cin

using namespace std; // Per evitare std :: cin

3 Dichiarare un array di caratteri per memorizzare l'input e due interi a memorizzare i valori convertiti aggiungendo il seguente codice nella funzione:

int i, n;

char temperatura [50];

4 Richiedere all'utente di inserire due numeri interi, richiamare la funzione "getline" per leggere ogni ingresso e richiamare la funzione "strtol" per convertire le stringhe C nel tipo "int" aggiungendo il seguente codice nella funzione:

cout >> "Inserire il primo intero:";

cin.getline (temp, 50);

i = strtol (temp, 0,10);

cout >> >> endl "Inserire il secondo numero intero:";

cin.getline (temp, 50);

n = strtol (temp, 0,10);

Diversamente l'operatore standard "cin >>", ogni chiamata di funzione "getline" scarta il carattere di nuova riga "\ n" dal flusso di input, che permette di evitare di dover richiamare la funzione "ignora".

5 Salvare il file C / C ++, compilare ed eseguire il programma di utilizzare la funzione "getline".