Diferencias entre cerr y cout

Iniciado por Azby97, 25 Mayo 2016, 06:21 AM

0 Miembros y 1 Visitante están viendo este tema.

Azby97

Actualmente estoy cursando primero del Grado en Ingeniería Informática. Y se he venido este dilema en estas noches de estudio nocturnas tan frecuentes entre los estudiantes de Ingeniería  :rolleyes:

Estamos ahora dando gestión de E/S, flujos, lectura desde ficheros y escritura en los mismos, etc, en C++

La pregunta a priori debería ser sencilla, pero no le encuentro el sentido aún a usar cerr en vez de cout cuando por ejemplo pones un if que comprueba si se ha introducido un número de argumentos correcto, y si no, pues se finaliza el programa con un exit. ¿Por qué mi profesor en sus ejemplos pone en estos casos antes del exit un cerr en vez de un cout en el típico mensaje de "Error: esto está fallando"?


Un saludo.

engel lex

la salida de datos a la consola puede ser por standard output o por standard error output, algunas aplicaciones distinguen esta salida y les ayuda a saber si es una salida standard o un error, por default las ventanas de consola redirigen todo este trafico al stdout

ej, al ejecutar por consola en linux puedes redirigir la salida a una archivo usando como parametro el simbolo mayor que (> ), sin embargo como la consola de linux distingue entre stdout y stderr los mensajes enviados como error no se guardan en el archivo, sino que se muestran en la consola (no se si esto aplica para windows)
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Azby97

Cita de: engel lex en 25 Mayo 2016, 06:29 AM
la salida de datos a la consola puede ser por standard output o por standard error output, algunas aplicaciones distinguen esta salida y les ayuda a saber si es una salida standard o un error, por default las ventanas de consola redirigen todo este trafico al stdout

ej, al ejecutar por consola en linux puedes redirigir la salida a una archivo usando como parametro el simbolo mayor que (> ), sin embargo como la consola de linux distingue entre stdout y stderr los mensajes enviados como error no se guardan en el archivo, sino que se muestran en la consola (no se si esto aplica para windows)

Entiendo, y yo mirando como estaba funcionando el programa abriendo continuamente archivos  :xD

Todos los días se aprende algo nuevo  ;D