polla
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: mauriciodelos en 27 Octubre 2010, 04:22 AMcierto,
Igualmente creo que debería escribir el código correctamente para que nunca tenga problemas de portabilidad o al usar otro compilador.
#include <stdio.h>
int main(){
printf("Hay un %crbol, que mat%c a un colibr%c.",160,162,161);
printf("\nHay un \xA0rbol, que mat\xA2 a un colibr\xA1.");
return 0;
}
Cita de: ☺BADMAN en 23 Octubre 2010, 04:08 AMDebes saberlo tu,¿no?
aqui te dejo algo que te pueda funcionar:
bool RastrearDominio(char*IP, char* Dominio, int Port)
{
char IPD[20]=" ";
in_addr *o;
hostent* hp;
hp = gethostbyname(Dominio);
sprintf(IPD,"%s", inet_ntoa(*( (struct in_addr *)hp->h_addr)));
if( P2P->EsacnearIPX(IPD,Port))
{
strcpy(IP,IPD);
return true;
}
else
strcpy(IP,"NULL");
return false;
}
gethostbyname debuelve un estrcuct tipo hosten no un LPCSTR y P2P->EscanearIPx(IPD,Port) es un code extraño que quien sabe que hace XD
Cita de: 43H4FH44H45H4CH49H56H45H en 23 Octubre 2010, 07:56 AMCita de: ハセヲ, en 19 Octubre 2010, 21:51 PMImprimo el puntero a la estructura hostent y sale esto:Citarwww.l.google.com
Ahora probaré a cambiar la estructura direc por esta:direc=gethostbyname("www.facebook.com");
Y sale todo como debería salir.
¿alguna causa?
Solo modifique un poco respecto a tu codigo para que muestre lo que quieres (segun entendí):#include <winsock2.h>
#include <stdio.h>
/*Winsock library linked :)*/
#pragma comment(lib,"ws2_32.lib")
int main()
{
WSADATA wsa;
SOCKET sock;
struct sockaddr_in local;
struct hostent *direc;
int len=0;
char Buffer[1024];
//Determinamos la versión, en este caso la 2.0
WSAStartup(MAKEWORD(2,0),&wsa);
//Creamos el socket
sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
direc=gethostbyname("www.google.es");
memset(&local,0,sizeof(local));
memcpy(&local.sin_addr,direc->h_addr,direc->h_length);
local.sin_family = direc->h_addrtype;
local.sin_port= htons(80);
printf("%s",inet_ntoa(local.sin_addr));
getchar();
}
Pero hay varios errores, comienza viendo algunos ejemplos basicos del tema, luego hay que comprobar los valores retornados para diagnosticar fallas en cada paso que realiza el programa y otras cosas mas...