摘要:
#include <stdio.h> void main( void ) { FILE *stream; char line[100]; if( (stream = fopen( "fgets.c", "r" )) != NULL ) { if( fgets( line, 100, stream ) == NULL) printf( "fgets error\n" ); else pr... 阅读全文
posted @ 2010-09-26 15:06
carekee
阅读(15686)
评论(0)
推荐(0)
摘要:
vc++断点的使用:按F9(设置断点),F5调试,F10单步调试,shift+F5退出调试F10单语句执行,F11单指令执行,Ctrl+F10执行至光标处;F9按行设置/取消断点, Alt+F9可按行,按数据或按消息设置断点;调试时,按Alt+3打开跟踪窗口,Alt+4打开变量窗口,Alt+5打开寄存器窗口,Alt+6打开内存窗口,Alt+7打开堆栈窗口,Alt+8打开汇编指令窗口; 1:概述调试... 阅读全文
posted @ 2010-09-26 14:39
carekee
阅读(2721)
评论(0)
推荐(0)
摘要:
for the file C:\FILES\TEXT.DATGetPathName will return "C:\FILES\TEXT.DAT" GetFileTitle will return "TEXT" GetFileName will return "TEXT.DAT" GetFileExt will return "DAT". 阅读全文
posted @ 2010-09-26 14:38
carekee
阅读(223)
评论(0)
推荐(0)
摘要:
前提工作:1添加Menu资源,在里面设好内容2添加鼠标右键点击消息具体实现:void DIALOG1::OnRclickTree1(NMHDR* pNMHDR, LRESULT* pResult) {// TODO: Add your control notification handler code hereLPPOINT lpoint=new tagPOINT; ::GetCursorPos... 阅读全文
posted @ 2010-09-26 14:38
carekee
阅读(1727)
评论(0)
推荐(0)
摘要:
在VC程序中使用调试语句 为了更好地对程序调试,可以使用如下方法:使用断言、使用跟踪语句、使用异常和返回值。一、断言1、基本概念 断言是一种让错误在运行时候自我暴露的简单有效实用的技术。它们帮助你较早较轻易地发现错误,使得整个调试过程效率更高。 断言是布尔调试语句,用来检测在程序正常运行的时候某一个条件的值是否总为真,它能让错误在运行时刻暴露在程序员面前。使用断言的最大好处在于,能在更解决错... 阅读全文
posted @ 2010-09-26 14:37
carekee
阅读(1172)
评论(0)
推荐(0)
摘要:
全局变量一般这样定义:1。在一类的.cpp中定义 int myInt;然后再在要用到的地方的.cpp里extern int myInt;这样就可以用了。2。在stdafx.cpp中加入:int myInt;然后在stdafx.h中加入:extern int myInt这样定义以后无论在什么文件中都是可见的.3。比较规范的是,先定义一个Glbs.h,把所有的全局变量原始定义放进去。然后定义一个Ext... 阅读全文
posted @ 2010-09-26 14:37
carekee
阅读(583)
评论(0)
推荐(0)
摘要:
VC MFC SDI/MDI框架各部分指针获取方式(转) 获得CWinApp 获得CMainFrame 获得CChildFrame 获得CDocument 获得CView在CWinApp中AfxGetMainWnd()m_pMainWndAfxGetMainWnd()->MDIGetActive()AfxGetMainWnd()->GetActiveFrame()SDI:AfxGetM... 阅读全文
posted @ 2010-09-26 14:35
carekee
阅读(421)
评论(0)
推荐(0)
摘要:
实现SDI与MDI的转换 如果想将一个编好的SDI应用程序转换为MDI,首先要建立一个继承于CMDIChidWnd的类,假设为CChldFrm,在CWinApp中作如下变化。 InitInstance() { . ... //instead of adding CSingleDocTemplate // Add CMultiDocTemplate. pDocTemplate = new CMult... 阅读全文
posted @ 2010-09-26 14:34
carekee
阅读(399)
评论(0)
推荐(0)
摘要:
cannot open file "mfc42u.lib"怎么回事,怎么改动配置选项?解决方法一:下了一个老外的示例代码,放到VC 6.0中编译,竟然得到了一个fatal error LNK1104: cannot open file "mfc42u.lib"错误,让人一筹莫展。在网上Search了下,问题是默认的VC缺少对Unicode的支持,而这个代码恰恰就是按照Unicode发布,要使用Un... 阅读全文
posted @ 2010-09-26 14:34
carekee
阅读(2854)
评论(0)
推荐(0)
摘要:
一、程序风格: 1、严格采用阶梯层次组织程序代码: 各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行。要求相匹配的大括号在同一列,对继行则要求再缩进4格。例如: 2、提示信息字符串的位置 在程序中需要给出的提示字符串,为了支持多种语言的开发,除了一些给调试用的临时信息外,其他所有的提示信息必须定义在资源中。 3、对变量的定义,尽量位于函数的开始位置。二、命名规则: 1、变量名... 阅读全文
posted @ 2010-09-26 14:33
carekee
阅读(1051)
评论(0)
推荐(0)
摘要:
MFC命名规则Windows类型样本变量MFC类样本变量HWNDhWnd;CWnd*pWnd;HDLGhDlg;CDialog*pDlg;HDChDC;CDC*pDC;HGDIOBJhGdiObj;CGdiObject*pGdiObj;HPENhPen;CPen*pPen;HBRUSHhBrush;CBrush*pBrush;HFONThFont;CFont*pFont;HBITMAPhBitma... 阅读全文
posted @ 2010-09-26 14:32
carekee
阅读(548)
评论(0)
推荐(0)
摘要:
经典问题:double* (*a)[3][6];cout<<sizeof(a)<<endl; // 4 a为指针cout<<sizeof(*a)<<endl; // 72 *a为一个有3*6个指针元素的数组cout<<sizeof(**a)<<endl; // 24 **a为数组一维的6个指针cout<<sizeo... 阅读全文
posted @ 2010-09-26 14:29
carekee
阅读(829)
评论(0)
推荐(1)
摘要:
【摘录自http://www.wbfans.com/bbs/viewthread.php?tid=26858】从ANSI到Unicode──随便说说字符集和编码(根据论坛的特定需要稍稍改动了一下标题)随便说说字符集和编码 出处:http://haoxiaobo.spaces.live.com/?_c11_BlogPart_blogpart=blogview&_c=B... 阅读全文
posted @ 2010-09-26 14:28
carekee
阅读(378)
评论(0)
推荐(0)
摘要:
// Create dialog to open multiple files. CFileDialog dlg(true, _T("txt"), _T("*.txt")), OFN_ALLOWMULTISELECT); // Create buffer for file names. const DWORD numberOfFileNames = 1; const DWORD fileName... 阅读全文
posted @ 2010-09-26 14:27
carekee
阅读(1311)
评论(0)
推荐(0)
摘要:
对论坛中有关UNICODE、ANSI字符集和相关字符串操作的总结!先声明不是我的杰作。我这里只是总结了一部分,如果有错误请指出,同时欢迎大家参与进来! Q UNICODE字符串如何显示 A 如果程序定义了_UNICODE宏直接用 WCHAR *str=L"unicodestring"; TextOut(0,0,str); 否则就需要转换类型 #include <comdef.h>... 阅读全文
posted @ 2010-09-26 14:27
carekee
阅读(254)
评论(0)
推荐(0)
摘要:
一 :关于指针和堆的内存分配 先来介绍一下指针 : 指针一种类型,理论上来说它包含其他变量的地址,因此有的书上也叫它:地址变量。既然指针是一个类型,是类型就有大小,在达内的服务器上或者普通的PC机上,都是4个字节大小,里边只是存储了一个变量的地址而已。不管什么类型的指针,char * ,int * ,int (*) ,string * ,float * ,都是说明了本指针所指向的地址空间是什么类型... 阅读全文
posted @ 2010-09-26 14:26
carekee
阅读(711)
评论(0)
推荐(0)
摘要:
概述调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言。不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件。这里我简要的根据自己的经验列出调试中比较常用的技巧,希望对大家有用。本文约定,在选择菜单时,通过/表示分级菜单,例如File/Open表示顶级菜单File的子菜单Open。 设置为了调试一个程序,首先必须使程序中包含调试信息。一般情况下,一个从AppWizard创建的... 阅读全文
posted @ 2010-09-26 14:25
carekee
阅读(191)
评论(0)
推荐(0)
摘要:
ClassWizard为CTreeCtrl(树控件)添加的NM_DBLCLK(双击)消息的响应函数中带有一个NMHDR * 型指针形参:OnDblClkTree(NMHDR* pNMHDR, LRESULT* pResult)这个陌生的指针类型常使初用树控件的编程者陷入迷茫之中。实际上我们完全不理会它,也可以实现树控件的双击响应,即在OnDblClkTree( )函数中调用树控件的成员函数CTre... 阅读全文
posted @ 2010-09-26 14:24
carekee
阅读(335)
评论(0)
推荐(0)
摘要:
1 项目风格 1.1 项目取名 在VC之中,项目名为最后可执行文件名,所以项目名最好以最终的可执行文件名一致。 1.2 项目目录设置 为保证VC项目的备份方便、快捷,将所有该项目有关的文件全部放到统一的目录之下,为每个项目在该目录之下建立一个目录,项目之间的公共部分建立在public目录之下,项目所需要的基础库根据所需要的基础库数目分别建立不同的目录,项目相关的测试程序都统一放在TEST目录之下... 阅读全文
posted @ 2010-09-26 14:23
carekee
阅读(291)
评论(0)
推荐(0)
摘要:
步骤: 工具栏上右键-〉Customize-〉“Add-ins and Macro Files”tab页,把SAMPLE前面打上钩“Commands”tab页,Category选Macros,然后在Commands中把CommentOut拖曳到工具栏(会跳出来图标选择对话框,随便设定一下就行了)。 阅读全文
posted @ 2010-09-26 14:23
carekee
阅读(483)
评论(0)
推荐(0)