Come leggere le righe da stdin nella programmazione C

Come leggere le righe da stdin nella programmazione C
La stdin è la forma corta dell '"input standard", nella programmazione C Il termine "stdin" viene utilizzato per gli input che vengono prelevati dalla tastiera dall'utente o da un file. La "stdin" è anche conosciuta come puntatore perché gli sviluppatori accedono ai dati dagli utenti o dai file e possono eseguire un'azione su di essi.

In questo articolo, useremo le funzioni integrate della programmazione C che possono essere utilizzate per leggere l'input da parte della stdin.

Come leggere una riga di stdin nella programmazione C

Esistono diverse funzioni integrate utilizzate nella programmazione C per la lettura degli input da stdin. Le funzioni utilizzate per leggere le righe sono:

  • getline ()
  • getchar ()
  • putchar ()
  • scanf ()

Spiegheremo tutte queste funzioni in dettaglio.

getline (): Questa funzione viene utilizzata per leggere le righe da stdin. Per capire questa funzione, consideriamo l'esempio, creeremo un file di testo con il nome myfile2.C e scrivi il seguente script:

#includere
#includere
int main (vuoto)

printf ("Inserisci una riga: \ n");
char *riga = Nill;
size_t len ​​= 0;
ssize_t lineeze = 0;
lineeze = getline (& line, & len, stdin);
printf ("Hai inserito %s, che ha %Zu Chars.\ n ", line, lineize -1);
linea libera);
restituzione 0;

Compila lo script di file2.C usando il compilatore GCC:

$ GCC MyFile2.c -o myfile2

Esegui il codice usando il comando:

$ ./myfile2

Nell'output sopra, possiamo vedere che una linea viene presa dalla stdin e quindi visualizzata con il conteggio dei suoi personaggi. La funzione getline () legge una frase completa dalla stdin e assegna un po 'di memoria sul mucchio e la salva lì. In getline () passiamo l'indirizzo della memoria in cui la linea dovrebbe essere memorizzata, l'indirizzo della lunghezza della linea e la stdin. Quindi basta visualizzare la linea e la sua lunghezza utilizzando la funzione printf (). Inoltre, alla fine, abbiamo usato Free () in modo che lo spazio occupato in memoria possa essere cancellato per riutilizzarlo la prossima volta.

getchar (): IL getchar () La funzione viene utilizzata per leggere il primo carattere di stdin e il putchar () viene utilizzato per visualizzare il singolo carattere sullo schermo. Lo svantaggio di GetChar () e Putchar () è che possono leggere e visualizzare solo un carattere alla volta, ma possiamo usare un ciclo per visualizzare tutti i caratteri di Stdin. Per capirlo, scrivi il seguente codice:

#includere
#includere
int main ()
Char C;
int i, l;
fprintf (stdout, "Immettere la lunghezza della stringa:");
fscanf (stdin, "%d", & l);
fprintf (stdout, "immettere un valore:");
per (i = 0; i<=l; i++)

c = getc (stdin);
Putc (C, stdout);

fprintf (stdout, "\ n");
restituzione 0;

Compilare il codice utilizzando il compilatore GCC:

$ GCC myfile4.c -o myfile4

Eseguire il myfile4:

$ ./myfile4

Nel codice sopra, inseriamo una riga "Ciao! It's LinuxHint ”e il getchar () legge il primo carattere della linea e putchar () viene utilizzato per visualizzare la linea. Innanzitutto, abbiamo chiesto all'utente la lunghezza della stringa e poi l'abbiamo visualizzata con l'aiuto di un loop.

scanf (): L'altro metodo ampiamente utilizzato per leggere la riga da stdin utilizza la funzione "scanf ()". Scanf prende l'ingresso da stdin, quindi lo scansiona e lo salva in una variabile o in un array. Per esempio:

#includere
int main ()
Char A [100];
fprintf ("Immettere una stringa:");
fscanf (stdin, "%s", a);
fprintf (stdout, "\ nyou ha inserito la seguente stringa: %s", a);
fprintf (stdout, “\ n”);
restituzione 0;

Usando il compilatore GCC, compilare il programma di MyFile5.c per eseguire il debug degli errori:

$ gcc myfile5.c -o myfile5

Eseguire il myfile5:

$ ./myfile5

Nello script sopra, abbiamo semplicemente dichiarato l'array "A" con il tipo di dati dei caratteri, con l'aiuto di scanf () abbiamo preso l'input da stdin. Abbiamo usato la costante "%s" che viene utilizzata per leggere e stampare anche le corde. Quindi visualizzato la stringa memorizzata in array a [] che è "ciao".

Conclusione

La stdin viene utilizzata per prendere l'input dalla tastiera e può leggere in modi diversi. Esistono diverse funzioni utilizzate per leggere la stdin. In questo articolo, abbiamo usato diverse funzioni utilizzate per leggere una riga. La funzione integrata nella programmazione C è getline () che viene utilizzata per leggere le righe da stdin. Ma possiamo anche usare altre funzioni come getchar () e scanf () per leggere le righe.