Cita de: ankora45 en 10 Octubre 2012, 20:43 PM
no se como hacer para que si un int te retorne char te devuelva un error en vez de un buffer overflow
esto es lo que tengo ya se que os puede parecer una aberracion pero no se me ocurre otra cosaCódigo (cpp) [Seleccionar]#include <iostream>
using namespace std;
int main()
{
int num;
cout<<"escribe un numero"<<endl;
cin>>num;
if (num return char)
{
cout<<"no ha escrito un numero"<<endl;
}
else
{
cout<<num<<endl;
}
}
estas guardando la entrada en un int y luego ese int lo queres convertir en char?
porque no haces un casting?
char a = (char)num;
el compilador segurmante te lanzara un warning de perdida de datos y es normal , pero si estas seguro que solo ingresara un byte, noseria mejor pasar directamente el char? pero si es un numero de mas de 2 cifras entonces tendras que convertir el numero y
copiarlo en un buffer, osea convertir cada cifra del numero a un char en C++.