|

楼主 |
发表于 2013-5-4 07:33:37
|
显示全部楼层
本帖最后由 冰点雨 于 2013-5-4 07:37 编辑
友来友网 发表于 2013-5-1 18:27
如果c语言是你的第一门编程语言,那你学编程只有半个月,
学半个月的c语言,我只能说学得太浅了,我建议你 ...
恩恩 我知道接下来该怎么走了谢谢啊 C语言肯定会温习的;
其实C语言入门了之后其他的不难··· 我就怕算法··
C语言的确是我入门第一门语言 感觉前面蛮简单的 就 指针后期 和 链表卡壳了
这几天我看了下windowsAPI 编程··
其实类 对象 就是结构体的 衍生罢了 。
C语言函数学好了 API也不难 和函数一样用, 那些大写字母 其实 基本都是宏定义 转过去 看看 百度捣鼓捣鼓 也就明白个大概了
我看孙鑫的VC++ 遍了一个 网络程序的服务器, 一个客户端 ; 依照书的思路衍生的 不是完全照抄哈·
·#include "stdafx.h"
#include <WINSOCK2.H>
#include <stdio.h>
#include <windows.h>
//高速连接器使用WS2_32库
#pragma comment (lib,"WS2_32.lib")
int main(int argc, char* argv[])
{
WSADATA wsaData;
WORD sckVersion = MAKEWORD(2,0);
//初始化DLL
::WSAStartup(sckVersion,&wsaData);
//创建套接字
SOCKET s =::socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if (s==INVALID_SOCKET)
{
printf("创建套接字失败!\n:%d",GetLastError());
::WSACleanup();
return 0;
}
//填充地址;
// struct sockaddr_in {
// short sin_family;
// u_short sin_port;
// struct in_addr sin_addr;
// char sin_zero[8];};
sockaddr_in servAddr;
servAddr.sin_family = AF_INET;
servAddr.sin_port = htons(8888);
//这里要填写服务器程序所在的ip地址
//
servAddr.sin_addr.S_un.S_addr =inet_addr("127.0.0.1");
if (connect(s,(LPSOCKADDR)&servAddr,sizeof(servAddr)) == -1)
{
printf("连接服务器失败!\n");
::WSACleanup();
return 0;
}
//接受数据
char buff[256];
int nRecv =::recv(s,buff,256,0);
if (nRecv>0)
{
buff[nRecv] ='\0';
printf("总共接收到了:%s\n",buff);
::WSACleanup();
return 0;
getchar();
}
}
|
|