基于TCP协议写的“hello world”程序 使用vc6编译不过。下放代码
这是基于TCP协议的客户端代码 。vc编译器显示17个错误。 看的懂 但不知道怎么解决啊。百度也木有 求大神带过。#include <stdio.h>
#include <winsock2.h>
#pragma comment (lib,"ws2_32")
int main(int argc,char* argv[])
{
WSADATA wsaDara;
WSAStartup(MAKEWORD(2,2),&wsaData);
SOKET s =socket(PE_INET,SOCK_STRESM,IPPROTO_TCP);
sockaddr_in sockAddr;
sockAddr.sin_family=PE_INET;
sockAddr.sin_addr.s_un.s_addr=inet_addr("127.0.0.1");
sockAddr.sin_port =htons(827);
connect(s,(SOCKADDR*)&sockAddr,sizeof(SOCKADDR));
char szBuffer={0};
recv(s,szBuffer,MAXBYTE,NULL);
printf("szBuffer = %s\r\n",szBuffer);
closesocket(s);
WSACleanup();
return 0;
}
VC++6.0编译通过,有改的那一行我都加了注释了
#include <stdio.h>
#include <winsock2.h>
#pragma comment( lib,"ws2_32.lib" )
int main( int argc,char * argv[] ){
WSADATA wsaData; //原来是wasDara,名字问题
WSAStartup( MAKEWORD( 2,2 ),&wsaData ); //这里原先分号错了,改成英文的分号
SOCKET s = socket( PF_INET,SOCK_STREAM,IPPROTO_TCP ); //PF_INET/SOCK_STREAM
sockaddr_in sockAddr;
sockAddr.sin_family = PF_INET; //PF_INET协议,还是名字问题
sockAddr.sin_addr.s_addr = inet_addr( "127.0.0.1" ); //s_un
sockAddr.sin_port = htons( 827 );
connect( s,( SOCKADDR * )&sockAddr,sizeof( SOCKADDR ) );
char szBuffer = { 0 };
recv( s,szBuffer,MAXBYTE,0 ); //NULL改为0
printf( "szBuffer = %s\r\n",szBuffer );
closesocket( s );
WSACleanup();
return 0;
}
:big 贴一下错误信息 帮顶 WATCH 发表于 2015-3-17 12:20
VC++6.0编译通过,有改的那一行我都加了注释了
请问一下null那一项为何该为0 书上写的null 这里看不怎么懂 浪子黑心 发表于 2015-6-2 13:24
请问一下null那一项为何该为0 书上写的null 这里看不怎么懂
如果头文件中有定义#define NULL 0 就可以用NULL
页:
[1]