资源描述:
《windows下c语言网络编程快速入门》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Windows下C语言网络编程快速入门只要有了C++类的基本概念,那么C语言的初学者也能进行Windows网络编程 C语言的学习,一般的方式是,先学C,然后是C++,最好还要有汇编语言和微机原理基础,然后才是VisualC++。这样的方式,对学习者来说,要花费很多时间和耐力。而在学校教学中,也没有时间深入学习Windows编程的实用技术了。 其实,具有了C语言基础后,再有一些基本的C++类的概念,就可以直接学习WindowsC编程了。 一、走近WindowsC语言 很多语言都把显示一个“He
2、llo,World!”做为第一个入门程序,C语言的第一个程序是这样的:#includemain(){ printf(“Hello,World!”);} 如果把main函数写成带参数的main函数,应该是:#includemain(intarge,char*argv[]){ printf(“Hello,World!”);} WindowsC的第一个程序和这个程序在形式和原理上都是一致的,只是有两点不同: 1.主函数接收的形参不只是命令行中的字符串的个数和字符串的
3、首地址。 2.C语言的很多函数在WindowsC中都可以继续使用,但象printf()屏幕显示等函数就不能继续使用了。因为Windows是多任务操作系统,屏幕已不再为某一个应用程序所独有,WindowsC应用程序要显示字符串,需要使用Windows提供的API函数,开自己的窗口 下面是一个最简单的,显示“Hello,World!”的WindowsC程序:#includeAPIENTRYWinMain(HINSTANCEhInstance,HINSTANCEhPrevInsta
4、nce,LPSTRlpCmdLine,intnCmdShow){ MessageBox(NULL,"Hello,World!","第一个WindowsC程序",MB_OK
5、MB_ICONASTERISK);} 主函数的形参有四个: 1)Hinstance:接收程序运行时当前实例的句柄; 2)HprivInstance:前一个实例的句柄; 3)LpCmdLine:程序命令行指针; 4)NcmdShow:一个用来指定窗口显示方式的整数。 这几个参数的使用我们会在深入的学习中介绍的。 显示He
6、llo,Word!字符串,我们使用了一个MessageBox函数,这个函数会在屏幕上显示一个对话框,它的原型是:intMessageBox(HWNDhWnd,LPCTSTRlpText,LPCTSTRlpCaption,UNITuType) 四个参数分别是: 1)HWnd:父窗口的句柄; 2)LpText:要显示字符串的指针; 3)LpCaption:对话框标题字符串的指针; 4)UType:显示在对话框上的小图标的类型。 使用这个函数要包含windows.h头文件。 调试一下,怎么样?
7、窗口上弹出了一个“第一个WindowsC程序”对话框,上面有一行字:“Hello,World!”。 世界真的很美好啊!! 深入编程: 在C语言中,函数的声明,如果没有指明返回值类型,缺省值为void,这个程序的主函数就没有返回值。不过,在Windows编程时,我们最好养成个好习惯,指明函数的返回值类型,因为在C++中,函数返回值类型是不可以缺省的。而我们在WindowsC编程时,还是会用到C++的一些概念,这样做,有利于以后深入地学习。 规范一点的程序应该是这样的:#include8、ws.h>intAPIENTRYWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnCmdShow){MessageBox(NULL,"Hello,World!","第一个WindowsC程序",MB_OK
9、MB_ICONASTERISK);return0;} 这里,我们声明的类型为int型,并且返回一个值0,这样的函数就可以使用在复杂一点的函数调用中了。 在这一节中,我们有几处都提到了句柄的概念,句柄和指针的概
10、念不同,它是作为操作系统内部索引表中的一个值来使用的,这样可以防止应用程序直接访问名对象的内部结构,体现了Windows资源管理的优越性。譬如说,一个窗口找开之后,好对应内存中的一个内存块,这个窗口所在的内存快地址往往会由操作系统做动态的调整,但其却不会随之变化。不过,通过它可以访问这个窗口,所以在使用的时候,可以把它当做指针一样看待。 二、获取本地计算机的主机名和IP地址 和C语言一样,函数是WindowsC编程的最基本的单位。不过,WindowsC