проблемы с кодировкой в C++
От: _Aicberg  
Дата: 14.10.07 17:26
Оценка:
Доброго времени суток

при выполнении программы ,фрагмент которой приведен ниже, функция printf выводит вместо русских букв непонятные значки, в чем дело?
WORD wVersionRequested=MAKEWORD(1,1);
    WSADATA wsaData;

    unsigned int server_s,client_s;
    sockaddr_in server_addr,client_addr;
    in_addr client_ip_addr;
    int addr_len;
    char out_buf[100],in_buf[100];


    WSAStartup(wVersionRequested,&wsaData);

    server_s=socket(AF_INET,SOCK_STREAM,0);
    
    server_addr.sin_family=AF_INET;
    server_addr.sin_port=htons(PORT_NUM);
    server_addr.sin_addr.s_addr=htonl(INADDR_ANY);

    bind(server_s,(sockaddr*)&server_addr,sizeof(server_addr));

    listen(server_s,MAX_LISTEN);
    addr_len=sizeof(client_addr);
    client_s=accept(server_s,(sockaddr*)&client_addr,&addr_len);
    

    memcpy(&client_ip_addr,&client_addr.sin_addr.s_addr,4);
    printf("Запрос принят  ip клиента : %s порт %d\n",inet_ntoa(client_ip_addr),ntohs(client_addr.sin_port));

    strcpy(out_buf,"Сообщение от сервера клиенту");
    send(client_s,out_buf,strlen(out_buf)+1,0);

    recv(client_s,in_buf,sizeof(in_buf),0);
    printf("Полученные от клиента данные %S\n",in_buf);


    closesocket(server_s);
    closesocket(client_s);

    WSACleanup();
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.