Ciao a tutti, in un esercizio mi si chiede di scrivere un programma che legge continuamente dallo standard input righe di testo terminate da \n, e far terminare il programma quando inserisco una riga vuota.
Cercando informazioni ho trovato che per leggere righe di testo posso usare la funzioneche mi sembra di aver capito legge stringhe digitate da tastiera della dimensione massima di "dimensione" e la salva in "destinazione" terminando ogni stringa con \n.codice:fgets(destinazione, dimensione, stdin)
Quello che non mi è chiaro è come far riconoscere la stringa vuota e quindi far terminare il programma.
Quello che ho provato a scrivere è questo:
ma sia con NULL che con "" non esce dal while.codice:#include <stdio.h> #define BUFFER_LENGTH 255 int main(int argc, char *argv[]) { char buffer[BUFFER_LENGTH]; while(buffer!=NULL){ fgets(buffer, BUFFER_LENGTH, stdin); } return 0; }
Mi potreste dare una mano?
Grazie mille

Rispondi quotando