C++ - 文章列表
-
CloseHandle()报错: 0xC0000008: An invalid handle was specified 的解决方法
调用CloseHandle(hBitmap)时报错: 0xC0000008: An invalid handle was specified改为FindClose(hBitmap); 就可以了
-
?在MFC中使用CHtmlView与js交互 js调用C++的方法
在MFC中使用CHtmlView与js交互, js调用C++程序中的方法。(使用单文档或多文档模式)1、在类定义时添加DECLARE_DISPATCH_MAP()如:class CClientBrowserView : public CHtmlView{ DECLARE_DISPATCH_MAP()....}2、在构造函数中添加EnableAutomation();如:CClientBrowserView::CClientBrowserView(){ // TODO: 在此处添加构造代码 EnableAutomation();}3、在类实现文件前添加类似
-
c++ fopen和fopen_s用法的比较
在vs编程中,经常会有这样的警告:warning C4996: |acute;fopen|acute;: This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use_CRT_SECURE_NO_WARNINGS. See online help for details.??是因为? fopen_s比fopen多了溢出检测,更安全一些。(在以后的文章里还有get与get_s的比较,strcpy
-
CString 转int,double的方法
//CString转int CString szPort = L"2589"; int nPort = _ttoi(szPort); //CString转double CString szPort = L"2589.00"; double nPort = _ttol(szPort); //其它类型转CString int nPort =
-
c++ vector的使用方法详解
标准库Vector类型使用需要的头文件:#include <vector>Vector:Vector 是一个类模板。不是一种数据类型。 Vector<int>是一种数据类型。一、 定义和初始化Vector<T> v1; //默认构造函数v1为空Vector<T> v2(v1);//v2是v1的一个副本Vector<T> v3(n,i);//v3包含n个值为i的元素Vector<T> v4(n); //v4含有n个值为0的元素二、 值初始化1> 如果没有指定元素初始化式,标准库自
-
mfc CStdioFile的用法详解
CStdioFile:CStdioFile继承自CFile,CStdioFile类的声明保存在afx.h头文件中。一个CStdioFile 对象代表一个用运行时函数fopen 打开的C 运行时流式文件。流式文件是被缓冲的,而且可以以文本方式(缺省)或二进制方式打开。文本方式提供对硬回车—换行符对的特殊处理。当你将一个换行符(0x0A)写入一个文本方式的CStdioFile 对象时,字节对(0x0D,0x0A)被发送给该文件。当你读一个文件时,字节对(0x0D,0x0A)被翻译为一个字节(0x0A)。CStdioFile 不支持Duplicate,Lock
-
CString的Format方法详解 格式化字符串
在MFC程序中,使用CString来处理字符串是一个很不错的选择。CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串。CString的Format方法给我们进行字符串的转换带来了很大的方便,比如常见的int、float和double这些数字类型转换为CString字符串只需一行代码就可以实现。 先看看Format用于转换的格式字符: %c &n
-
mfc使用CStdioFile读取文件 出现乱码的解决方法
在使用CStdioFile读取文件的时候,如果有中文,会出现乱码,下面是解决方法:首先要添加引用 #include <locale.h>然后在读取文件的时候加上下面几句就可以了char* old_locale = _strdup(setlocale(LC_CTYPE,NULL) );setlocale( LC_CTYPE, "chs" );if(myFile.Open(_T("C:\\\\1.txt"), CFile::modeRead)){ //读取
-
char* 与CString 相互转换出现乱码的解决方法
1、CString 转char*出现乱码方法一:使用函数setlocale setlocale(LC_ALL,"chs"); 需要包含头文件#include <locale.h> 此方法的思路是配置地域化信息。通常在需要输入输出中文的时候设置一下,就没问题了方法二:使用函数:T2A、W2A CString str = _T("D://校内项目/
-
C++图形编程双缓冲防止闪烁的使用方法
在图形图象处理编程过程中,双缓冲是一种基本的技术。我们知道,如果窗体在响应WM_PAINT消息的时候要进行复杂的图形处理,那么窗体在重绘时由于过频的刷新而引起闪烁现象。解决这一问题的有效方法就是双缓冲技术。? 因为窗体在刷新时,总要有一个擦除原来图象的过程OnEraseBkgnd,它利用背景色填充窗体绘图区,然后在调用新的绘图代码进行重绘,这样一擦一写造成了图象颜色的反差。当WM_PAINT的响应很频繁的时候,这种反差也就越发明显。于是我们就看到了闪烁现象。?我们会很自然的想到,避免背景色的填充是最直接的办法。但是那样的话,窗体上会变的一团糟。因为每次绘制图象的时候都没有将原来的图象清除,