![个人头像照片](https://ucc.alicdn.com/avatar/img_97daf7e22667ed72a8e4b28695f84bbc.jpg)
一个在IT行业摸爬滚打的老司机
1、字符数组的定义与初始化 字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。 char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'}; 即把10个字符分别赋给str[0]到str[9]10个元素 如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即 '\0' )。
C++中的预处理命令 一、预处理的由来: 在C++的历史发展中,有很多的语言特征(特别是语言的晦涩之处)来自于C语言,预处理就是其中的一个。C++从C语言那里把C语言预处理器继承过来(C语言预处理器,被Bjarne博士简称为Cpp,不知道是不是C Program Preprocessor的简称)。
C/C++编译系统编译程序的过程为预处理、编译、链接。预处理器是在程序源文件被编译之前根据预处理指令对程序源文件进行处理的程序。预处理器指令以#号开头标识,末尾不包含分号。预处理命令不是C/C++语言本身的组成部分,不能直接对它们进行编译和链接。
一.预处理宏 1. 通用宏 VC6.0 中: Project Setting à C/C++ à Preprocessor definitions VC2005 中: 项目属性 à 配置属性 à C/C++ à 预处理器定义 WIN32 :指明是 Window 32 位系统的编译器,一般用作平台识别。
字符串,顾名思义是由字符组成的字符串,在标准C,标准C++,MFC中 字符串这一功能的实现是不相同的,C++完全兼容了C。 1. 标准C中的字符串 在标准C中没有string这样的数据类型,C中的字符串是有char类型的字符数组或者char类型的字符指针来实现的。
sizeof sizeof操作符的作用是返回一个对象或类型名的长度,长度的单位是字节。 返回值的类型是标准库命名为size_t的类型,size_t类型定义在cstddef头文件中,该头文件是C标准库的头文件stddef.h的C++版本。
char acStr[] = "aaaaa";//这个是字符数组,只含有5个字符char *pcStr = "aaaaa";//这个是字符串,含有6个字符,即5个a加一个结束符'\0' 输出的结果 strlen()长度都是5, 所以即便是字符串,最后取长度的时候,也不考虑\0: strl...
一、获得绘图的窗口句柄 方法(详细参数及其调用可以看考MSDN): 1、 HWND FindWindow(LPCTSTR lpClassName, LPCTSTR lpWindowName) HWND FindWindowEx(HWND hwndParent, HWND hw...
http://my.oschina.net/u/131904/blog/39804 在mfc工程中控件或者窗口位置的调整是经常遇到的,特别是基于对话框的工程。位置的调整包括坐标、长度和宽度的变化,一般在窗口类的OnSize函数中实现。
MFC应用程序中处理消息的顺序 1.AfxWndProc() 该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc 2.AfxCallWndProc() 该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用, 然后调用WindowProc()函数 3.
一、简介 SQLite是一个基于文件的轻量级数据库,但功能还挺强,速度也很快,对于小型数据库应用开发绝对够用了。使用起来也非常方便,下面的介绍可以看出来,使用起来真的非常简单。 二、官方网站 Sqlite的官方网站www.sqlite.org,在该网站可以下载最新的sqlite版本。
printf可能是许多程序员在开始学习C语言时接触到的第二个函数(我猜第一个是main),说起来,自然是老朋友了,可是,你对这个老朋友了解多吗?你对它的那个孪生兄弟sprintf了解多吗?在将各种类型的数据构造成字符串时,sprintf的强大功能很少会让你失望。
getenv(取得环境变量内容) 相关函数 putenv,setenv,unsetenv 表头文件 #include 定义函数 char * getenv(const char *name); 函数说明 getenv()用来取得参数name环境变量的内容。
一个很好的编程随想的博客http://program-think.blogspot.com/2009/03/producer-consumer-pattern-0-overview.html 架构设计:生产者/消费者模式[0]:概述 1、如何确定数据单元2、队列缓冲区3、环形缓冲区4、双缓冲区...
在参考文献基础上。补充和完善了。 Matlab与C/C++混合编程接口及应用 摘要:Matlab具有很强的数值计算和分析等能力,而C/C++是目前最为流行的高级程序设计语言,两者互补结合的混合编程在科学研究和工程实践中具有非常重要的意义。
Visual Studio 2008 环境变量的配置(改为:Visual Studio 2008 中程序路径配置 更合理) 在调试 Visual Studio 2008 程序时,经常有一些动态链接库(即 dll 文件)需要加载到工程里,这样才能依赖第三方库进行程序调试。
Visual Studio 2008 和 Windows 环境变量对设置 相对路径很重要,这样便于代码的移植,即使换一台计算机,代码不用更改配置,直接就能用。 可以在项目的“工具”“属性页”对话框中任何接受字符串的位置使用这些宏。
在vs2008的Project->Property设置里经常会看到类似$(IntDir)、$(OutDir)、$(ProjectName) 的预定义宏。以vc2008为例,有时候我们在引用别的库时需要在项目设置里添加额外的头文件和库文件路径,我们不想每个路径都用一大堆的“../.. /include”或绝对路径表示,因为不但繁琐而且万一路径改变每处都要修改,不方便维护,我们希望能自定义类是$(myDir) = c:/myPrj/include的宏。
Combo Box (组合框)控件很简单,可以节省空间。从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的。用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本。
续第一篇:MFC总结之CListCtrl用法及技巧(一) http://blog.csdn.net/zwgdft/article/details/7560592 本篇重点介绍:禁止拖动表头、让第一列居中显示、设置行高与字体、虚拟列表技术、点击表头时进行归类、向上与向下移动、动态调整大小问题、避免闪烁问题。
本文根据本人在项目中的应用,来谈谈CListCtrl的部分用法及技巧。当初学习时,查了很多资料,零零碎碎的作了些记录,现在主要是来做个总结,方便以后查阅。主要包括以下十三点内容:基本操作、获取选中行的行号、复选框操作、动态设置选中行的字体颜色、设置选中行的背景颜色、禁止拖动表头、让第一列居中显示、设置行高与字体、虚拟列表技术、点击表头时进行归类、向上与向下移动、动态调整大小问题、避免闪烁问题。
在MFC中滑动条(CSliderCtrl)是个常用的控件,用法如下: 主要要方法有: 1、设置、取得滑动范围: void SetRange( int nMin, int nMax, BOOL bRedraw = FALSE ); void GetRange( int& nMin, int&...
动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的。 一、创建动态控件: 为了对照,我们先来看一下静态控件的创建。 放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放在对话框中即可,再适当修改控件ID,设置控件属性,一个静态控件就创建好了,当对话框被显示时,其上的控件也会显示。
http://blog.sina.com.cn/s/blog_6163bdeb0100pcld.html 为窗口或其中的控件添加提示框,可以使用MFC的类CToolTipCtrl,使用方法如下 1.
很多的界面设计都需要有Tip提示,下面描述一下Tip的简单使用方法: 1. 首先要New一个CToolTipCtrl的对象m_pContentTip 2. 调用CToolTipCtrl的create函数,指定其父窗口。
HANDLE hMutex; hMutex = ::CreateMutex(NULL, FALSE, NULL); ::WaitForSingleObject(hMutex, INFINITE); // 1 ::WaitForSingleObject(hMutex, INFINITE); // 2 好多初学者都认为,设置为FALSE就是没有获得获得信号。
如何终止线程的运行(C/C++)想要终止线程的运行,可以使用以下方法: 1、线程函数返回(最好使用该方法)。 2、通过调用ExitThread函数,线程将自行撤消(最好不使用该方法)。 3、同一个进程或另一个进程中的线程调用TerminateThread函数(应避免使用该方法)。
在VC编程中常常碰到的.lib文件有一个需要注意的地方是: 静态库——函数和数据被编译进一个二进制文件(扩展名问.lib)。在使用静态库的情况下,在编译连接可执行文件时,连接器从库中复制这些函数和数据并把他们和应用程序的其他模块组合起来创建最终的可执行文件(.exe)文件,当发布产品时,只需要发布这个可执行文件,并不需要发布被使用的静态库。
原因:#pragma comment (lib,"xxx.lib")//默认和引用的CPP文件在一个文件夹中 解决方法1:将xxx.lib和调用pragma comment的源文件放在一个目录(注意是调用它的源文件,不是头文件)。
MPEG-1压缩的基本思想:帧内压缩和帧间压缩。 其次,时间相关性的统计分析:统计的结果表明,在间隔1~2帧的图像中,各像素只有10%以下的点,其亮度差值变化超过2%,而色度差值的变化只有1%以下。 采用的压缩方法: 分组:把几帧图像分为一组(GOP),为防止运动变化,帧数不宜取多。
2011-11-28 9:45 http://www.360doc.com/content/11/0718/17/474846_134326279.shtml mpeg4的每一帧开头是固定的:00 00 01 b6,那么我们如何判断当前帧属于什么帧呢?在接下来的2bit,将会告诉我们答案。
转自:http://blog.csdn.net/abcjennifer/article/details/6577934 视频压缩中,每帧代表一幅静止的图像。而在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的。
winrar.exe 命令行参数 [语法]RAR [ - ] [ ]RAR [ ] [ ] 一.简单的例子和说明: 压缩文件夹winrar.exe a -ag -k -r -s -ibck c:/bak.
我用VC做TOOL TIP很多次了,但每次都要再研究一遍.虽然说学而时习,应该的,但主要还是由于自己懒.今天一定要记下来.以后再用的时候,就是参考.也请阅读此文的朋友记下来,将来查阅用. 用VC实现TOOL TIP.
在这篇文章中,我为大家收集了20个基于 jQuery 框架的 Ajax 分页插件,这些插件都提供了详细的使用教程和演示。Ajax 技术的出现使得 Web 项目的用户体验有了极大的提高,如今借助优秀的 jQuery 框架很容易实现各种基于 Ajax 技术实现的功能。
设置VS2008和IE8 调试ATL控件 VS2008设置篇: 设置VS2008 通过IE8 调试ATL的ActiveX控件的步骤如下: (1) 设置项目属性 通过菜单项 “项目—》你的项目属性”如下图: (2) 在弹出的属性页对话框中选中“配...
VC/MFC如何设置对话框背景颜色 2007-06-19 19:57 1. 重载OnCtlColor (CDC* pDC, CWnd* pWnd, UINT nCtlColor),即WM_CTLCOLOR消息。
先看图: 窗体扩充过程中: 窗体完全显示: 要想实现动画窗体显示,需要把MoveWindow函数和定时器结合使用,MoveWindow函数可以改变指定窗口的位置和大小,结合定时器以后可以在一定时间内动态改变窗口的位置和尺寸。
说起来挺简单的,一个对话框关闭时要依次调用该类的DestroyWindow-OnDestroy-PostNcDestroy,根据关闭的方法不同,在这些函数之前会调用OnOK、OnCancle或者OnClose。
描述 event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。 event对象只在事件发生的过程中才有效。 event的某些属性只对特定的事件有意义。比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义。
相对于客户区的坐标的使用: function show_coords(event){x=event.clientXy=event.clientYalert("X 坐标: " + x + ", Y 坐标: " + y)} 请在文档中点击。
function whichButton(event){var btnNum = event.button;if (btnNum==2) { alert("您点击了鼠标左键!") }else if(btnNum==0) { alert("您点击了鼠标右键!") }else if(btnNum==1) { alert("您点击了鼠标中键!"); }else { alert("您点击了" + btnNum+ "号键,我不能确定它的名称。
function whichElement(e){var targif (!e) var e = window.eventif (e.target) targ = e.targetelse if (e.srcElement) targ = e.srcElementif (targ.nodeType == 3) // defeat Safari bug targ = targ.parentNodevar tnametname=targ.tagNamealert("You clicked on a " + tname + " element.")} 在文档中点击某个位置。
1、两者均可使用VS IDE中AppWizard来建立框架,前者使用“MFC ActiveX Control Wizard”,后者使用“ATL COM AppWizard”。 2、用MFC建立的ActiveX控件的扩展名缺省为“.ocx”;用ATL(活动模板库)建立的扩展名缺省为“.dll”。
SignalR 是 ASP.NET 团队正在开发的一个 Microsoft .NET Framework 库和 jQuery 插件,可能包括在以后版本的 ASP.NET 平台中。 它提供了一些前景极为光明的功能,而这些功能正是 .NET Framework 当前不曾具有的,并且是越来越多的开发者所需要的。
SignalR 是一个集成的客户端与服务器库,基于浏览器的客户端和基于 ASP.NET 的服务器组件可以借助它来进行双向多步对话。 换句话说,该对话可不受限制地进行单个无状态请求/响应数据交换;它将继续,直到明确关闭。
important > 内联 > ID > 类 > 标签 | 伪类 | 属性选择 > 伪对象 > 继承 > 通配符
最近的项目测试中,一个同事机器装的是IE8,当打开2个IE8窗口并以2个不同用户身份分别登录后,之前登录的用户页面会在第二个用户登录以后刷新成第二个用户信息页面。但是在我的本机(IE6)是好的,并未发现类似问题。
最近在网上查阅了不少Javascript闭包(closure)相关的资料,写的大多是非常的学术和专业。对于初学者来说别说理解闭包了,就连文字叙述都很难看懂。撰写此文的目的就是用最通俗的文字揭开Javascript闭包的真实面目。
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 下面就是我的学习笔记,对于Javascript初学者应该是很有用的。 一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。