Windows下C语言网络编程快速入门

2008-02-23 05:04:47来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

 C语言的学习,一般的方式是,先学C,然后是C ,最好还要有汇编语言和微机原理基础,然后才是Visual C 。这样的方式,对学习者来说,要花费很多时间和耐力。而在学校教学中,也没有时间深入学习Windows编程的实用技术了。

  其实,具备了C语言基础后,再有一些基本的C 类的概念,就能够直接学习Windows C编程了。

  一、走近Windows C语言

  很多语言都把显示一个“Hello,World!”做为第一个入门程式, C语言的第一个程式是这样的:

#include<stdio.h>
main()
{
 printf(“Hello,World!”);
}

  假如把main函数写成带参数的main函数,应该是:

#include<stdio.h>
main(int arge,char *argv[])
{
 printf(“Hello,World!”);
}

  Windows C的第一个程式和这个程式在形式和原理上都是一致的,只是有两点不同:

  1. 主函数接收的形参不只是命令行中的字符串的个数和字符串的首地址。

  2. C语言的很多函数在Windows C中都能够继续使用,但象printf()屏幕显示等函数就不能继续使用了。因为Windows是多任务操作系统,屏幕已不再为某一个应用程式所独有,Windows C应用程式要显示字符串,需要使用Windows提供的API函数,开自己的窗口

  下面是个最简单的,显示“Hello,World!”的Windows C程式:

#include<windows.h>
APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,
LPSTR lpCmdLine,int nCmdShow)
{
 MessageBox(NULL,"Hello,World!","第一个Windows C程式",MB_OK|MB_ICONASTERISK);
}

  主函数的形参有四个:

  1) Hinstance:接收程式运行时当前实例的句柄;
  2) HprivInstance:前一个实例的句柄;
  3) LpCmdLine:程式命令行指针;
  4) NcmdShow:一个用来指定窗口显示方式的整数。

  这几个参数的使用我们会在深入的学习中介绍的。

  显示Hello,Word!字符串,我们使用了一个MessageBox函数,这个函数会在屏幕上显示一个对话框,他的原型是:

int MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UNIT uType)

  四个参数分别是:

  1) HWnd:父窗口的句柄;
  2) LpText:要显示字符串的指针;
  3) LpCaption:对话框标题字符串的指针;
  4) UType:显示在对话框上的小图标的类型。

  使用这个函数要包含windows.h头文档。

  调试一下,怎么样?窗口上弹出了一个“第一个Windows C程式”对话框,上面有一行字:“Hello,World!”。

  世界真的很美好啊!!

  深入编程:

  在C语言中,函数的声明,假如没有指明返回值类型,缺省值为void,这个程式的主函数就没有返回值。但是,在Windows编程时,我们最好养成个好习惯,指明函数的返回值类型,因为在C 中,函数返回值类型是不能够缺省的。而我们在Windows C编程时,还是会用到C 的一些概念,这样做,有利于以后深入地学习。

  规范一点的程式应该是这样的:

#include<windows.h>
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,
LPSTR lpCmdLine,int nCmdShow)
{
MessageBox(NULL,"Hello,World!","第一个Windows C程式",MB_OK|MB_ICONASTERISK);
return 0;
}


  这里,我们声明的类型为int型,并且返回一个值0,这样的函数就能够使用在复杂一点的函数调用中了。

  在这一节中,我们有几处都提到了句柄的概念,句柄和指针的概念不同,他是作为操作系统内部索引表中的一个值来使用的,这样能够防止应用程式直接访问名对象的内部结构,体现了Windows资源管理的优越性。譬如说,一个窗口找开之后,好对应内存中的一个内存块,这个窗口所在的内存快地址往往会由操作系统做动态的调整,但其却不会随之变化。但是,通过他能够访问这个窗口,所以在使用的时候,能够把他当做指针相同看待。



[1] [2] [3] 下一页

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 高质量C /C编程指南 -- 第5章 常量

下一篇: Servlets和JSP研发原则

热门词条
热门标签