
C与C++编程
sxslyy
丹东软件开发
展开
-
C语言宏定义技巧(常用宏定义)
1,防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H //头文件内容 #endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。 typedef unsigned char boolean; /* Boolean value type. */ type转载 2007-06-22 11:56:00 · 816 阅读 · 0 评论 -
指针与函数的关系
在学习C语言的过程中,学员常常对指针和函数的关系不甚清楚。事实上,C语言中的指针变量可以指向一个函数;函数指针可以作为参数传递给其它函数;函数的返回值可以是一个指针值。 1.指向函数的指针 函数虽然不是变量,但是它在内存中占有实际位置。函数的首地址就是该函数的入口地址,它可以赋给指针变量,使得指针变量指向函数。利用指向函数的指针变量,可以代替函数名,也可以作为函数的参数传递给其它函数。转载 2007-07-12 15:30:00 · 539 阅读 · 0 评论 -
C 语言中操作字符串的一些函数源代码
很多人认为C语言中的难点是指针,对指针的理解直接关系到所编程序的好坏,所以, 在这里列举了一些C编译器通常都有的标准函数的源代码,看过它们,就能对指针和字符串 有所了解了. 1. strlen(),计算字符串长度 int strlen(const char string) { int i=0; while(string[i]) i++; return i; } 2. strcpy(), 字符串拷贝转载 2007-07-12 15:22:00 · 583 阅读 · 0 评论 -
整数类型和浮点类型的大小限制
/*c头文件limits.h和float.h分别提供有整数类型和浮点类型的大小限制的详细说明.*//*可以用文本编辑器来打开和查看系统的头文件.*/#include #include #include #include int main(void){clrscr();printf("char的位数:%u/n",CHAR_BIT);printf("char类型的最大值:%d/n",CHA转载 2007-07-12 15:27:00 · 694 阅读 · 0 评论 -
深入剖析MFC中Windows消息处理、运行机制
序: 本人对Windows系统、MFC谈不上有深入的了解,但对MFC本身包装API的机制很有兴趣,特别是读了候老师的《深入浅出MFC》后,感觉到VISUAL C++的Application FrameWork十分精制[不敢用“完美”一词]。在以前,我对SDI结构处理消息有一定的认识,但对于模式对话框的消息机制不了解,读了《深入》一书也没能得到解决,近日,通过在优快云上网友的帮助,和查阅MSDN,转载 2007-08-14 09:29:00 · 748 阅读 · 0 评论 -
文档 视图 框架窗口间的关系和消息传送规律
在MFC中M$引入了文档-视结构的概念,文档相当于数据容器,视相当于查看数据的窗口或是和数据发生交互的窗口。(这一结构在MFC中的OLE,ODBC开发时又得到更多的拓展)因此一个完整的应用一般由四个类组成:CWinApp应用类,CFrameWnd窗口框架类,CDocument文档类,CView视类。(VC6中支持创建不带文档-视的应用) 在程序运行时CWinApp将创建一个CF转载 2007-08-14 08:37:00 · 595 阅读 · 0 评论 -
深度解析VC中的消息传递机制(下)
消息的接收 消息的接收主要有3个函数:GetMessage、PeekMessage、WaitMessage。 GetMessage原型如下:BOOL GetMessage(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax); 该函数用来获取与hWnd参数所指定的窗口相关的且wMsgFilterMi转载 2007-08-14 09:34:00 · 627 阅读 · 0 评论 -
深度解析VC中的消息传递机制(上)
摘要:Windows编程和Dos编程,一个很大的区别就是,Windows编程是事件驱动,消息传递的。所以,要学好Windows编程,必须对消息机制有一个清楚的认识,本文希望能够对消息的传递做一个全面的分析。 什么是消息? 消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向Windows发出一个通知转载 2007-08-14 09:38:00 · 687 阅读 · 0 评论 -
完整的读写函数
一旦我们建立了连接,我们的下一步就是进行通信了.在Linux下面把我们前面建立的通道 看成是文件描述符,这样服务器端和客户端进行通信时候,只要往文件描述符里面读写东西了. 就象我们往文件读写一样. 4.1 写函数write ssize_t write(int fd,const void *buf,size_t nbytes) write函数将buf中的nbytes字节内容转载 2007-08-14 08:39:00 · 620 阅读 · 0 评论 -
鼠标光标制作程序
该程序使用特定算法几次转换将图形转成16位16进制数据存储在磁盘文件上在使用时将其重文件读出放于相应的结构中就可使用中断来改变光标。我没加多少注释请各位朋友自己找出转换算法,请注意I,J的变化#include #include #include #include void Init();/*初始函数*/void Cursor();/*光标移动函数*/void Save();/*记转载 2007-08-14 08:41:00 · 614 阅读 · 0 评论 -
主函数main中变量(int argc,char *argv[])的含义
我刚接触到这两个变量时,根本不知道它们是用来做什么的,我想很多人也跟我一样,刚看到这两个变量时也是稀里糊涂的。 其实: int main(int argc,char *argv[]) 是 UNIX 和 Linux 中的标准写法,而 int main() 只是 UNIX 及 Linux 默许的用法.. 那究竟 argc,argv[] 有何之用呢?下面看个例子 edit.c 就会明白它们的用法转载 2007-07-12 15:29:00 · 697 阅读 · 0 评论 -
字符串16进制转10进制
主要代码如下:#include int strHexToInt(char* strSource){ int nTemp=0; CString strTemp; strTemp=strSource; for(char cc=G,dd=g; cc { if(strTemp.Find(cc,0) !=-1 || strTemp.Find(dd,0) !=-1) {转载 2007-07-12 15:26:00 · 741 阅读 · 0 评论 -
C++常用字符串处理函数及使用示例
C++常用字符串处理函数及使用示例char *strcpy(char *s1, const char *s2) 将字符串s2复制到字符串数组s1中,返回s1的值char *strncpy(char *s1, const char *s2, size_t n) 将字符串s2中最多n个字符复制到字符串数组s1中,返回s1的值char *strcat(char *s1,转载 2007-06-23 15:15:00 · 470 阅读 · 0 评论 -
高质量C++/C编程指南 -- 第3章 命名规则
第3章 命名规则比较著名的命名规则当推Microsoft公司的“匈牙利”法,该命名规则的主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。例如所有的字符变量均以ch为前缀,若是指针变量则追加前缀p。如果一个变量由ppch开头,则表明它是指向字符指针的指针。“匈牙利”法最大的缺点是烦琐,例如int i, j, k; float x, y, z;倘若采用“匈牙利”命名规则,转载 2007-07-06 17:26:00 · 476 阅读 · 0 评论 -
软件开发经验
为了提高软件开发质量,降低开发周期,增强代码的可重用性和易读性,使软件便于维护,开发人员间便于交流和协作,特总结出开发规范,以为参考。一. 原则:1. 软件工程化2. 模块化3. 能简单不复杂4. 强调团队协作5. 强调创新和特色二. 具体规范:1. 命名规范命名应尽量使用匈牙利命名法,变量名或函数名中使用大写字符来区分各个部分,以便于记忆和阅读。如bPatchMinute, De转载 2007-07-06 17:27:00 · 600 阅读 · 0 评论 -
指针详解-01
这是一篇比较老的关于指针的文章,作者站在初学者的角度对指针作了深入的剖析。如果你在学习指针的时候有什么问题,看一看这篇文章定有收获。一。指针的概念 1。指针的类型 2。指针所指向的类型 3。指针的值二。指针的算术运算 三。运算符&和* 四。指针表达式五。数组和指针的关系 一。指针的概念 指针是一个特殊的变量,它里面存储的数值被解释成转载 2007-07-12 15:31:00 · 489 阅读 · 0 评论 -
指针详解-02
六。指针和结构类型的关系 七。指针和函数的关系 八。指针类型转换九。指针的安全问题 十、指针与链表问题 六。指针和结构类型的关系 可以声明一个指向结构类型对象的指针。 例十一: struct MyStruct { int a; int b; int c; } MyStruct ss={20,30,40};//声明了结构对象ss,并把ss的三个成员初始化为20,30和转载 2007-07-12 15:32:00 · 606 阅读 · 0 评论 -
正确使用指针
指针就是地址。 按类型来分指针有 int、char 、float等基本类型。 对于扩充的数据类型则有struct 等。 指针的类型决定了指针操作时该指针指向地址变化的规律。 例: int a, *p; //定义了一个整型指针以后就可以写为 p=&a; 这个好理解。 麻烦的是指针与数组结构等结合起来了之后情况就变得复杂起来,如下例: int arr[10], *p; p=arr; 此时把数组的地址转载 2007-07-12 15:34:00 · 943 阅读 · 1 评论 -
DLL初学者指南(非MFC)
我正在学习DLLs,谈不上对其有什么高屋建瓴的见解;本文只是(通过)编码让你看到并想知道代码是如何运行的。在本文中,我假定你知道如何使用你的编译器特性,比如设置目录路径等等。 为了建立项目,请选择Win32 控制台项目(Win32 Console Application),并且在应用程序设置标签(the advanced tab)上,选择DLL和空项目选项。DLLs可能并不如你想像的那样难。首转载 2007-07-14 15:52:00 · 603 阅读 · 0 评论 -
C语言编程易犯毛病集合
C语言的最大特点是:功能强、使用方便灵活。C编译的程序对语法检查并不象其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误。看着有错的程序,不知该如何改起,本人通过对C的学习,积累了一些C编程时常犯的错误,写给各位学员以供参考。1.书写标识符时,忽略了大小写字母的区别。main(){转载 2007-07-12 15:24:00 · 521 阅读 · 0 评论 -
揭开木马的神秘面纱-DLL木马篇
如何在WINNT下隐藏木马的进程。本文会详细的分析WINNT中木马的几种常用隐藏进程手段,给大家揭示木马/后门程序在WINNT中进程隐藏的方法和查找的途径。NT系统下木马进程的隐藏 在WIN9X中,只需要将进程注册为系统服务就能够从进程查看器中隐形,可是这一切在WINNT中却完全不同, 无论木马从端口、启动文件上如何巧妙地隐藏自己,始终都不能欺骗WINNT的任务管理器,难道转载 2007-07-14 15:01:00 · 899 阅读 · 0 评论 -
获得OnOK退出控制
读者朋友可能知道,CDialog的OnOK虚函数控制了OK按钮,它负责触发数据交换以及从对话框中退出,然而,Enter键碰巧也具有同样的效果。也许这是我们所需要的,也可能我们不需要这一功能,就是说不希望用户在编辑框中按Enter键后出现关闭程序的情况。怎么解决这一问题? 一、原因 当用户按下Enter键时,Windows就会自动去找输入焦点落在了哪一个按钮上,当获得焦点的按钮的四周将被点线转载 2007-08-22 10:22:00 · 688 阅读 · 0 评论