C语言的数据类型在C语言中用来对变量、符号常量、函数、数组、类型等数据对象命名的有效字符序列统称为标识符。C语言规定标识符只能由字母、数字和下划线3中字符组成,且第一个字符必须为字母或下划线。注意:编译系统将大写字母和小写字母认为是两个不同的字符。C语言中的变量要求“先定义,后使用”。整形数据整形变量分为三类1).基本整形,以int表示。2).短整型,以short int表示(或 short)。3).长整形,以long int表示(或long)。整形变量还有,有符号和无符号之分。用signed来表示定义有符号的整形变量用unsigned来表示定义无符号的整...
2000-03-21 00:00作者:张晓明 杨建华 钱名出处:Hedgehog Studio责任编辑:
P>一、引言? Windows 95作为微机的操作系统,已经完全融入了网络与通信功能,不仅可以建立纯Windows 95环境下的“对等网络”,而且支持多种协议,如TCP/IP、IPX/SPX、NETBUI等。在TCP/IP协议组中,TPC是一种面向连接的协义,为用户提供可靠的、全双工的字节流服务,具有确认、流控制、多路复用和同步等功能,适于数据传输。UDP协议则是无连接的,每个分组都携带完整的目的地址,各分组在系统中独立传送。它不能保证分组的先后顺序,不进行分组出错的恢复与...
作者:重庆 黄文平
浏览器是我们上网时必须使用的软件,我们常用的浏览器有IE、Netscape等。面对它们,我们往往会感叹如此强大功能的软件是如何编写出来的呢?的确,要编写一个功能完善的浏览器是很不容易的。但是,利用当今的一些面向对象开发工具来编写一个简易的浏览器以实现它的主要功能却十分容易。用VC++,一支烟的功夫就能办到!不信,请跟我来。 实现原理: ActiveX控件可以看作是OLE容器中使用的进程内服务器,但是,只有在支持ActiveX控件的OLE容器中使用它,才能发挥其所有的功能。而VC++ 6.0的MFC创建的OLE容器完全支持ActiveX控件,所以它可以使用...
摘要: 本文介绍了在Windows平台下串行通信的实现机制,讨论了根据不同的条件用Visual C++ 设计串行通信程序的三种方法,并结合实际,实现对温度数据的接收监控。 在实验室和工业应用中,串口是常用的计算机与外部串行设备之间的数据传输通道,由于串行通信方便易行,所以应用广泛。依据不同的条件实现对串口的灵活编程控制是我们所需要的。 在光学镜片镀膜工艺中,用单片机进行多路温度数据采集控制,采集结果以串行方式进入主机,每隔10S向主机发送一次采样数据,主机向单片机发送相关的控制命令,实现串行数据接收,处理,记录,显示,实时绘制曲线。串行通信程序开发环境为 VC++ 6.0。 ...
菜单控制 为什么即使调用EnableMenuItem菜单项后,菜单项还处于禁止状态 需要将CFrameWnd:: m_bAutomenuEnable设置为FALSE,如果该数据成员为TRUE(缺省值),工作框将自动地禁止没有ON_UPDATE_COMMAND_UI或者ON_COMMAND的菜单项。 //Disable MFC from automatically disabling menu items. m_bAuoMenuEnable=FALSE; //Now enable the menu item. CMenu* pMenu=GetMenu (); ASSERT_VALID ...
当前流行的Windows操作系统能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程,线程提供了多任务处理的能力。用进程和线程的观点来研究软件是当今普遍采用的方法,进程和线程的概念的出现,对提高软件的并行性有着重要的意义。现在的大型应用软件无一不是多线程多任务处理,单线程的软件是不可想象的。因此掌握多线程多任务设计方法对每个程序员都是必需要掌握的。本实例针对多线程技术在应用中经常遇到的问题,如线程间的通信、同步等,分别进行探讨,并利用多线程技术进行线程之间的通信,实现了数字的简单排序。 一、 实现方法 1、理解线程...
一般在使用中,面向连接协议的SOCKET编程模型应用最为广泛,因 为面向连接协议提供了一系列的数据纠错功能,可以保证在网络上传输 的数据及时、无误地到达对方。 总的来说,使用SOCKET接口(面向连接或无连接)进行网络通信时, 必须按下面简单的四步进行处理: 1、程序必须建立一个 SOCKET。 2、程序必须按要求配置此SOCKET。也就是说,程序要么将此 SOCKET连接到远方的主机上,要么给此SOCKET指定一个 本地协议端口。 3、程序必须按要求通过此SOCKET发送和接收数据。 4、程序必须关闭此SOCKET。
用WINSOCK实现聊天室的VC++程序设计...
在Windows操作系统中,任务栏的右边(托盘)会常驻几个图标,如输入法切换图标、音量控制图标等,此外我们还经常遇到具有托盘图标的软件,如金山词霸、实时监测功能的杀毒软件等。这些软件在后台运行,通常不占用太多的屏幕资源,只在通知栏上放一个小小的标志,必要时我们可以通过用鼠标点击图标对其进行选单操作或激活其主窗口。有时我们自己编写的程序也希望有类似的效果,本文将详细地介绍用VC设计托盘图标程序的方法。 一、 NOTIFYICONDATA结构 NOTIFYICONDATA结构包含了系统用来处理托盘图标的信息,它包括选择的图标、回调消息、提示消息和图标对应的窗口等内容。其定义为: ...
常用的代理服务器软件有procy sever 2.0以及WinGate等等。利用VC 6.0强大功能也可以编写出自己的代理服务器应用软件。本文介绍了具体的实现方法。一. 原理 本程序的结构原理如下: 对于每一个用户的请求(Internet 请求,由浏览器发出),本程序将启动两个线程,一个把本地用户的请求数据发送到远程的Internet主机,另一个线程把远程主机的回应数据发送到本地请求用户。 二. 主要函数 UserToProxyThread ( void * pParam ) :它是用来把本地用户请求数据发送到远程主机的,起服务器线程角色。当接到本地(局域网)用户的请求,它就启动另一个自...
无论是SQL Server的用户,还是PB的用户,作为C/S结构开发环境,他们在网络通信的实现上,都有一种共同的方法——命名管道。由于当前操作系统的不惟一性,各个系统都有其独自的通信协议,导致了不同系统间通信的困难。尽管TCP/IP协议目前已发展成为Internet的标准,但仍不能保证C/S应用程序的顺利进行。命名管道作为一种通信方法,有其独特的优越性,这主要表现在它不完全依赖于某一种协议,而是适用于任何协议——只要能够实现通信。 命名管道具有很好的使用灵活性,表现在: 1) 既可用于本地,又可用于网络。 2) 可以通过它的名称而被引用。 3) 支持多客户机连接。 4...
DLL木马的原理 DLL木马的实现原理是编程者在DLL中包含木马程序代码,随后在目标主机中选择特定目标进程,以某种方式强行指定该进程调用包含木马程序的DLL,最终达到侵袭目标系统的目的。 正是DLL程序自身的特点决定了以这种形式加载木马不仅可行,而且具有良好的隐藏性: (1)DLL程序被映射到宿主进程的地址空间中,它能够共享宿主进程的资源,并根据宿主进程在目标主机的级别非法访问相应的系统资源; (2)DLL程序没有独立的进程地址空间,从而可以避免在目标主机中留下"蛛丝马迹",达到隐蔽自身的目的。 DLL木马实现了"真隐藏",我们在任务管理器中看不到木马"进程",它完全溶进了系统的内核。与...
今天教大家在VC中创建DLL文件的方法步骤,一起来学习一下,并不是很难的,相信聪明的你一看就会。
一.Win32动态链接库
1.制作的步骤:
(1)新建WIN32 Dynamic-link Library工程,工程名为MyDll,选择A simple DLL project类型。
(2)MyDll.h的内容如下:
以下是引用片段: extern "C" _declspec(dllexport) int sum(int a,int b);//本文所有的例子只有一个sum即加法函数。
(3)MyDll.cpp的内容如下:
...
1。新建一个基于对话框的程序,添加变量: int m_nTimer; //Timer时间控制 bool timerflag; //Timer启用的标志 bool screenflag; //全屏的标志 bool playflag; //有无文件打开的标志 CRect flashrect; //记录Shockwaveflash组件的矩形区域 WINDOWPLACEMENT m_FlashPos; //记录Shockwaveflash组件的状态 WINDOWPLACEMENT m_WndPos; //记录对话框窗口的状态 ...
一、观察 模仿前最重要的一步就是观察,经过半天对QQ的摆弄和摸索,总结出了以下一些特点: 1、窗口开始粘附时,检测的是鼠标坐标与桌面边界的距离,特别地,粘附在下面的时候,检测的是与任务栏的距离; 2、在向上移动窗口时,窗口边界永远不会超出桌面上面边界; 3、窗口是个 TopMost 风格; 4、当窗口粘附在上面、左边或右边并显示时,你把鼠标移动到最顶端,光标变成改变窗口大小的图标,而单单是把窗口的top坐标设置为0是不行的; 5、粘附在下面的时候,当处于移动状态,那么窗口的底边是与任务栏顶边对齐的,但从隐藏到显示的时候,窗口的底端是与屏幕底边对齐的; 6、隐藏后显露出来的那...
ADO 是目前在Windows环境中比较流行的客户端数据库编程技术。ADO是建立在OLE DB底层技术之上的高级编程接口,因而它兼具有强大的数据处理功能(处理各种不同类型的数据源、分布式的数据处理等等)和极其简单、易用的编程接口,因而得到了广泛的应用。而且按微软公司的意图,OLE DB和ADO将逐步取代 ODBC和DAO。现在介绍ADO各种应用的文章和书籍有很多,本文着重站在初学者的角度,简要探讨一下在VC++中使用ADO编程时的一些问题。我们希望阅读本文之前,您对ADO技术的基本原理有一些了解。 一、在VC++中使用ADO编程 ADO实际上就是由一组Automation对象构成的组...
一、实现方法 在网络编程中最常用的方案便是Client/Server (客户机/服务器)模型。在这种方案中客户应用程序向服务器程序请求服务。一个服务程序通常在一个众所周知的地址监听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户向这个服务的地址提出了连接请求。在这个时刻,服务程序被"惊醒"并且为客户提供服务-对客户的请求作出适当的反应。 为了方便这种Client/Server模型的网络编程,90年代初,由Microsoft联合了其他几家公司共同制定了一套WINDOWS下的网络编程接口,即Windows Sockets规范,它不是一种网络协议,而是一套开放的、支持多种协议...
以下3条是我一个同学总结的:
a、引用被创建的同时必须初始化,指针则可在任何时候初始化
b、不能有NULL引用,引用必须与合法的存储单元关联,指针则可是NULL
c、一旦引用被初始化,就不能改变引用的关系,指针则可随时改变所指的对象
printf()函数是格式输出函数,请求printf()打印变量的指令取决与变量的类型.例如,在打印整数是使用%d符号,在打印字符是用%c 符号.这些符号被称为转换说明.因为它们指定了如何不数据转换成可显示的形式.下列列出的是ANSI C标准peintf()提供的各种转换说明. 转换说明及作为结果的打印输出%a 浮点数、十六进制数字和p-记数法(C99)%A 浮点数、十六进制数字和p-记法(C99)%c 一个字符 %d 有符号十进制整数 %e 浮点数、e-记数法%E 浮点数、E-记数法%f 浮点数、十进...
我始终认为,对一个初学者来说,IT界的技术风潮是不可追 赶。我时常看见自己的DDMM们把课本扔了,去卖些价格不菲的诸如C#, VB.Net 这样的大部头,这让我感到非常痛心。而许多搞不清指针是咋回事的BBS站友眉飞色舞的讨论C#里面可以不用指针等等则让我觉得好笑。C#就象当年的ASP 一样,“忽如一夜春风来,千树万树梨花开”,结果许多学校的信息学院成了“Web 学院”。96,97级的不少大学生都去做Web 了。当然我没有任何歧视某一行业的意识。我只是觉得如果他们把追赶这些时髦技术的时间多花一点在基础的课程上应该是可以走得更远的。 几个误区 初学者对C#风潮的追赶其实也只是学习过程中经...
静态成员函数可以直接访问该类的静态数据和函数成员。而访问非静态成员必须通过参数传递方式得到对象名,然后通过对象名来访问。#include<iostream>using namespace std;class point{public:  point(int xx=0,int yy=0){X=xx;Y=yy;} //构造函数  point(point&p);                      //拷贝函数  ~point(){count...