首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

显示乱码 请教如何修改

2012-03-22 
显示乱码 请问怎么修改C/C++ codewhile (1){SOCKET sockConn accept(sockSrv,(SOCKADDR*)&addrClient,&l

显示乱码 请问怎么修改

C/C++ code
    while (1)    {        SOCKET sockConn = accept(sockSrv,(SOCKADDR*)&addrClient,&len);        char sendBuf[100];         sprintf_s(sendBuf,_T("Welcome %s to TestServer"),inet_ntoa(addrClient.sin_addr));        send(sockConn,sendBuf,strlen(sendBuf)+1,0);        char recvBuf[100];        recv(sockConn,recvBuf,100,0);        _tprintf(_T("%s\n"),recvBuf);        closesocket(sockConn);    }

客户端连进去的时候 显示

请问不要显示乱码怎么修改

[解决办法]
对电脑而言没有乱码,只有二进制字节;对人脑才有乱码。
C/C++ code
void HexDump(int cn,char *buf,int len) {    int i,j,k;    char binstr[80];    for (i=0;i<len;i++) {        if (0==(i%16)) {            sprintf(binstr,"%03d %04x -",cn,i);            sprintf(binstr,"%s %02x",binstr,(unsigned char)buf[i]);        } else if (15==(i%16)) {            sprintf(binstr,"%s %02x",binstr,(unsigned char)buf[i]);            sprintf(binstr,"%s  ",binstr);            for (j=i-15;j<=i;j++) {                sprintf(binstr,"%s%c",binstr,('!'<buf[j]&&buf[j]<='~')?buf[j]:'.');            }            Log("%s\n",binstr);        } else {            sprintf(binstr,"%s %02x",binstr,(unsigned char)buf[i]);        }    }    if (0!=(i%16)) {        k=16-(i%16);        for (j=0;j<k;j++) {            sprintf(binstr,"%s   ",binstr);        }        sprintf(binstr,"%s  ",binstr);        k=16-k;        for (j=i-k;j<i;j++) {            sprintf(binstr,"%s%c",binstr,('!'<buf[j]&&buf[j]<='~')?buf[j]:'.');        }        printf("%s\n",binstr);    }} 

热点排行