Visualizzare stringa su standard error

di il
4 risposte

Visualizzare stringa su standard error

Salve ragazzi!
Il professore ha assegnato un esercizio ma c'è una cosa che non mi è chiara. La traccia è:

Scrivere un programma in linguaggio C che, utilizzando le
funzioni di I/O a basso livello, in un ciclo infinito:
• Legge dallo standard input una stringa S
• Visualizza su standard error la stringa S
• Il programma termina quando l’utente digita la stringa “fine”

La cosa che non ho capito come fare è quel "Visualizza su standard error la stringa S". So che ci sono 3 standard cioè input,output ed error, ma come faccio a visualizzare la stringa S su standard error? Ho scritto il programma così... Quali modifiche devo fare per visualizzare su standard error? Grazie a tutti

#include<stdio.h>
#include<string.h>

int main(){
	char stringa[20];
	char fine[5]="fine";
	
	do{
		printf("Inserisci la stringa: ");
		scanf("%s",stringa);
		if(strcmp(stringa,fine)){  //se la stringa inserita non è "fine", la stampo
			printf("La stringa inserita e': %s\n",stringa);
		}
	}while(strcmp(stringa,fine));
return 0;
}

4 Risposte

  • Re: Visualizzare stringa su standard error

    Utilizza fprintf su stderr
  • Re: Visualizzare stringa su standard error

    oregon ha scritto:


    Utilizza fprintf su stderr
    Grazie! Guardando in giro ho visto che è possibile utilizzare la funzione perror, che da manuale utilizza lo standard error...
    Quindi sostituendo printf("%s",stringa) con perror(stringa) ottengo il risultato voluto?
  • Re: Visualizzare stringa su standard error

    La funzione perror() è più appropriata per visualizzare eventuali errori commessi durante l'esecuzione quindi non penso sia appropriata al tuo problema...infatti se provi e usi perror(stringa) a video vedrai : stringa: evuntuale errore/Success
    Quindi per il tuo problema meglio fare come ti ha già detto oregon
  • Re: Visualizzare stringa su standard error

    maffo95 ha scritto:


    La funzione perror() è più appropriata per visualizzare eventuali errori commessi durante l'esecuzione quindi non penso sia appropriata al tuo problema...infatti se provi e usi perror(stringa) a video vedrai : stringa: evuntuale errore/Success
    Quindi per il tuo problema meglio fare come ti ha già detto oregon
    Grazie mille!
Devi accedere o registrarti per scrivere nel forum
4 risposte