Ok, gracias por contestar.<br><br>El porque define es porque vengo de C y aun no habia llegado a las constantes jeje.<br><br>perror y sterror no las conocia aun, pero aun asi es para gestionar mis propios errores en las funciones.<br>
<br>Por otro lado, para que los mensajes de error puedan ser en diferentes idiomas existe algo o hay que hacerlo asi?<br><br>Gracias y perdonar por mi desconocimiento de las librerias, me pasa mucho lo de pensar algo, ponerme a hacerlo y luego descubrir que existe alguna funcion de libreria que podia haber usado. Espero que el capitulo de librerias me ayude a solucionar ese "problemilla"<br>
<br><div class="gmail_quote">On Wed, Mar 4, 2009 at 4:43 PM, Programante <span dir="ltr"><<a href="mailto:programante@gmail.com">programante@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
vicente lozano escribió:<br>
<div><div></div><div class="h5">> Hola! Bueno me presento, soy Vicente, llevo un tiempo programando en C<br>
> y estoy haciendo el curso para aprender tambien C++.<br>
><br>
> Ahora mismo estoy intentando hacer una macro como esta:<br>
><br>
> /...<br>
> //definicion de Constante con las cadenas de error/<br>
> *#define ERRORS = {"Opening file", "Writing file", " Creating<br>
> Socket",...}*<br>
> /..../<br>
> ///definicion de macro/<br>
> *#define check ( cond, errn )  if ( -1==cond ) { fprintf(stderr,<br>
> "ERROR: %s.\n", ERRORS[errn]); return -1 ;}*<br>
> /....<br>
> //uso en el codigo/<br>
> *check( fopen(...) , 0 );*<br>
><br>
> La macro en si misma funciona pero no se como definir el array ERRORS<br>
> con un define, no se si se podra o si sabeis alguna forma mejor de<br>
> hacer lo que pretendo.<br>
><br>
> Bueno saludos y gracias por adelantado.<br>
</div></div>¿Por qué con un #define? Eso lo harías con una variable:<br>
const char* ERRORS[] = {"Opening file", "Writing file", " Creating<br>
Socket",...}<br>
<br>
Pero si lo que quieres es buscar errores en funciones 'normales' (con lo<br>
que mirarías errno), utiliza perror() (o strerror() si quieres algo más<br>
de control*). Por otro lado, ten cuidado con valores fuera de rango.<br>
<br>
<br>
*<br>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</blockquote></div><br>