Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/08/2008, 16:41
Avatar de Fayca
Fayca
 
Fecha de Ingreso: abril-2008
Mensajes: 164
Antigüedad: 16 años, 1 mes
Puntos: 2
Problema extraño

Bueno mi duda es esta, tengo 2 codigos que se suponen hacen lo mismo
la diferencia que tienen es que uno usa printf y el otro cout los resultados
son distintos, no entiendo donde esta el problema, estos son los codigos


con cout:
este solo llega a el mensaje 41
Código:
#include <cstdio>
#include <iostream>

int main()
{

    /* En el array sys_errlist hay una descripción corta asociada a cada número
       de error, sys_nerr es el total de elementos del array sys_errlist */

       for (int i = 0; i < sys_nerr; i++) std::cout << i << ": " << sys_errlist[i] << '\n';
}
con printf:
este me imprime hasta el 131
Código:
#include <cstdio>
int main()
{

     //En el array sys_errlist hay una descripción corta asociada a cada número
     //  de error, sys_nerr es el total de elementos del array sys_errlist

       for (int i = 0; i < sys_nerr; i++) printf("%d: %s\n",i , sys_errlist[i]);
}
creeo que es problema del cout, si es asi como pudiera solucionarlo,
tambien cuando compilo ma da 2 warnings:
warning||`sys_errlist' is deprecated; use `strerror' or `strerror_r' instead|
warning||`sys_nerr' is deprecated; use `strerror' or `strerror_r' instead|
si es por eso como se usan
strerror, strerror_r
que creeo que son los que los remlasan en c++