C++
Ma_Hong_Kai
just do it.
展开
-
枚举(枚举遍历)
几个重要的地方(1)定义认为几个比较关键的地方每个枚举器或变量名必须是唯一的。但是,值可以重复(2)定义使用范围 classclass可使用声明中的此关键字指定枚举区分范围。原创 2024-02-28 18:53:23 · 566 阅读 · 0 评论 -
CTreeCtrl
对应的函数自己看下使用,创建什么的都不提了大同小异。原创 2024-01-09 10:12:07 · 383 阅读 · 0 评论 -
目录操作: 列出指定目录下的文件 获取当前目录
(2)倘若参数buf 为NULL,getcwd()会依参数size 的大小自动配置内存(使用malloc()),如果参数size 也为0,则getcwd()会依工作目录绝对路径的字符串程度来决定所配置的内存大小,进程可以在使用完次字符串后利 用free()来释放此空间。opendir()用来打开参数name 指定的目录, 并返回DIR*形态的目录流, 和open()类似, 接下来对目录 的读取和搜索都要使用此返回值.5、ENOENT 参数name 指定的目录不存在, 或是参数name 为一空字符串。原创 2017-02-22 15:09:44 · 397 阅读 · 2 评论 -
正则表达式C++
【代码】正则表达式C++原创 2023-10-28 19:36:52 · 402 阅读 · 0 评论 -
CString 的 Replace 函数
【代码】CString 的 Replace 函数。原创 2023-12-09 14:20:25 · 1232 阅读 · 1 评论 -
map 和 multimap 存储区别 、取消自动排序 unordered_map
简单结论,map key唯一 ,单对单映射。multimap 可以多对多映射;应按照value将map排序了。multimap 的。原创 2023-12-15 19:01:19 · 641 阅读 · 0 评论 -
CStdioFile
文件创建、数据写入、写入路径。原创 2023-12-12 09:54:18 · 426 阅读 · 0 评论 -
unordered_map使用
2、因此升序排列map的时候需要谓词不能使用默认值less,第三个参数需要传入大于的greater,或者反向遍历multimap 存储到unordered_map。1、unordered_map的存储数据是通过出栈入栈的方式,即第一个进入的是最后一个。结果就不给出了,自己测一下就能得到。原创 2023-12-16 15:04:22 · 725 阅读 · 0 评论 -
GetKeyState
GetKeyState原创 2023-12-19 16:09:13 · 390 阅读 · 0 评论 -
CTabCtrl Ctrl单机选中 shift点击批量选
shift点击批量选 Ctrl单机选中原创 2023-12-19 20:23:51 · 361 阅读 · 0 评论 -
对话框重载 OnSize 对话框尺寸修改
OnSize 对话框尺寸修改原创 2023-12-20 09:35:23 · 508 阅读 · 0 评论 -
自己制作指定格式的bmp文件
bmp Bmp Bmp文件原创 2023-12-21 14:08:01 · 757 阅读 · 0 评论 -
对话框、内部控件位置
MoveWindow自己塞进去的是屏幕坐标。原创 2023-11-30 20:19:17 · 426 阅读 · 0 评论 -
引用及修改(map修改key)
首先map,erase会将删除,由于使用的是同一片内存空间,因此在使用之前,需要先将map中修改的value存起来,然后erase,然后在insert,并且修改所有引用的地方。有个map的value引用的是一个vector中的数值,在需要修改map中的key时,需要删除重新插入,结果出错。原创 2023-05-13 19:29:51 · 759 阅读 · 0 评论 -
程序执行ShellExecute_马鸿凯_新浪博客
TCHAR* szProcessName;szProcessName = L"C:\\ProgramFiles\\EstDoc\\1.1.1\\*.exe";DWORD dwRet =(DWORD)ShellExecute(NULL,NULL,szProcessName,NULL,NULL,SW_SHOWNORMAL);if(dwRet < 32){cout <...原创 2018-09-03 18:13:48 · 121 阅读 · 0 评论 -
CString 的转换为int、double 、WParam、
// 1 、WPARAM 转为 int WPARAM wParam; int nMatchRow = (int)lParam;// 2、 CString 转为 WPARAM WPARAM wParam = (WPARAM)str.AllocSysString() //3、WPARAM 转为 CString WPARAM wParam, BSTR b = (BSTR)wParam; CString cs(b); //4、CString 转为int CString str = ..原创 2021-11-07 12:27:32 · 552 阅读 · 0 评论 -
CMFCPropertyGridProperty 重载为 CMFCPropertyGridPropertyEx 可使用对话框编辑
https://download.csdn.net/download/Ma_Hong_Kai/13677354// 有一处代码有误// 切换bool值不能用! // 修改如下void CMFCPropertyGridPropertyEx::ToggleBool(void){ ASSERT(IsBoolValue()); // only bool values can be changed if (m_varValue.boolVal == VARIANT_TRUE) m_varValue.原创 2020-12-17 20:19:46 · 448 阅读 · 0 评论 -
continue
int main(){ using namespace std; for (int i = 0; i < 3; i++ ) { cout << endl << endl; if (i == 1) { continue; cout << "我是 continue"; } else cout << " i = " << i << endl; cout << " i *i ..原创 2020-09-30 14:50:52 · 124 阅读 · 0 评论 -
iterator 的 end
简单记录下#include <iterator>#include <algorithm>#include <vector>#include <iostream>int main(){ using namespace std; int i; vector<int> vec; for (i = 1; i < 6; ++i) { vec.push_back(2 * i); } vector<int>原创 2020-09-27 14:26:54 · 397 阅读 · 0 评论 -
C_Primer_Plus_1_内存模型和名称空间
记录下(眼过千边不如手过一遍)1、<> 和 "" 标准解释<> 在存储标准头文件的主机系统中查找;“”首先查找当前工作目录或者源代码目录,其他目录,若没有找到则在标准位置查找。2、头文件包含内容函数原型使用define、const 定义常量结构声明类声明模板声明内联函数3、#ifndef DEFNAME#defineDEFN...原创 2020-01-05 22:44:23 · 163 阅读 · 0 评论 -
某文件是否被打开
_wsopen_s MSDN头文件:#include <io.h>#include <fcntl.h>#include <sys/types.h>#include <sys/stat.h>#include <share.h>/*********************************************...原创 2019-04-24 19:33:08 · 469 阅读 · 0 评论 -
获取当前工程所在的文件夹
wchar_t* getProjectPathXml(){ wchar_t *wpath = new wchar_t[MAX_PATH]; if (GetCurrentDirectory(MAX_PATH, wpath) != 0) { return wpath; } else { MessageBoxW(NULL, _T("getProjectPath is NULL"...原创 2019-04-24 14:56:43 · 326 阅读 · 0 评论 -
本地调试出现系统无法找到指定文件
平台:vs2013 unlitme uodata5win7 64 专业版 SP1修复vs后打开工程好慢。1、确定是否是工程配置的原因。包生成文件的配置路径?属性中 配置以及平台是否和其他的工程所要求的的一致,属性中是否需要添加exe,比如我的工程需要早配置属性->调试-》命令(中附加exe路径),并且该工程是否需要成为启动项2、还是机器特殊导致VS出现了莫名其妙的错误...原创 2019-04-18 14:40:01 · 2034 阅读 · 0 评论 -
dll文件中函数的调用(通过头文件和动态库文件dll)
1、需要定影的dll动态库文件 比如 : FileEncryption.dll2、需要该动态库的头文件 头文件为 interface.h#ifndef __INTERFACE_H__#define __INTERFACE_H__#ifndef __PUBLIC_H__#include "public.h"#endif/**************************...原创 2018-12-15 17:44:11 · 2699 阅读 · 0 评论 -
自动的vector在pushback的时候size变为0
描述下情况:前几天有个同事遇到一个问题,定义了一个全局的指针,然后在某一个成员函数外使用该指针正常,在静态成员函数中使用的时候size的内存出现随机数。处理方式:跟代码仔细观察、然后发现同一个变量名,内存不是同一块内存?最后经过调试发现是因为该指针在该文件中定义未使用static然后名字和别的文件中有重名;简言之,指针重名了,成员函数里的和外面的不是同一个。参考文章m_pFile...原创 2019-05-14 23:31:13 · 1231 阅读 · 0 评论 -
(wstring去除空格)char字符串去除空格、wchar_t去除空格、判断一个字符串是包含所需要的数据
公众号:程序员崛起这里不写完整的代码,说下大概的情况场景:有一个字符串类型为 wchar_t 类型,需要解析,(1)将解析后的每个单元数据去除空格,(2)判断是否仅有 ‘数字’\'.'、‘空格’,删除其中的空格;倘若不是纯数字则不去除空格;思路:如果看了上一篇博客,大概就知道我的思路,使用 CString 容器完成这些操作;期间遇到一个奇怪的问题,就是当自己使用 w...原创 2019-05-30 23:49:14 · 2351 阅读 · 0 评论 -
字符转化终极篇章
公众号:程序员崛起转码(常用类型和字符转换)string 和 char*TCHAR * 转为char * 和 char * 转为 TCHAR *(wchar_t*、WCHAR)以前简单的提到过,字符为什么转换,现在来讲讲,字符怎么转化为一个“类(容器)”,这里所谓的转化准确的说其实对其中的字符串的成员函数中的字符串进行拷贝。eg:int f(char *docTe...原创 2019-05-29 22:36:18 · 208 阅读 · 0 评论 -
vs2010 给所用工程添加第三方库
自己找了几个语焉不详的 ,仅仅作为知识扩充给VS2010添加对所有工程都起作用的默认INCLUDE包含路径(未尝试)VS项目中包含目录(Include Directories)和附加包含目录(Additional Include Directories)的区别(测试无效,原因在下面)ok的(参考)修改vs2010所有工程的include目录和lib目录总之原来vc++6....转载 2019-06-16 11:05:05 · 504 阅读 · 0 评论 -
vs2008激活、序列号
参考:VS2008 简体中文正式版序列号(到期解决办法)链接: https://pan.baidu.com/s/1xKXW3h585jYOU26EdINsIg 提取码: a1wu 复制这段内容后打开百度网盘手机App,操作更方便哦...转载 2019-06-18 09:25:02 · 4083 阅读 · 0 评论 -
string 和 char*
转码(常用类型和字符转换)string:容器char * : 指向char类型的指针eg:char *pChar = "hello ,我的小宝贝";string strChar(pChar);至于其余的比如计算长度开辟空间之类的,可以直接使用string中的现有方法,当然,还可以给出例如字符串拼接之类的骚操作,就要比原本的字符串操作简单许多了。...原创 2019-04-07 12:50:29 · 263 阅读 · 0 评论 -
TCHAR * 转为char * 和 char * 转为 TCHAR *
转码(常用类型和字符转换)转码(常用类型和字符转换)TCHAR * 转为char * char* TCHARToChar(const TCHAR* pTchar){ char* pChar = NULL;#ifdef _UNICODE int nLen = wcslen(pTchar) + 1; pChar = new char[nLen * 2]; ...原创 2019-04-07 12:35:36 · 3650 阅读 · 2 评论 -
DLl中类的导出
VS下 dllimport与dllex (主要介绍下dll和lib)使用vs封装c++成dll和lib (一个很简单的类导出的例子)静态调用和动态调用转载 2019-02-21 12:33:07 · 287 阅读 · 0 评论 -
map C++
C++中的STL中map用法详解(看到博客里面最全的)MSDN map百度百科好好看完以上差不多就会简单的应用了,至于具体的适合使用什么样的方式去给map这个容器“赋值”,看情况而定。这两天遇到一个很有意思的东西,一个东西是fortran写的,然后C++写接口,由于现实需求,Fortran里面的一些东西需要使用C++的接口。但是这些东西不是连续的,以前只是书本上的m...原创 2019-02-28 23:20:16 · 251 阅读 · 0 评论 -
了解下depends
首先给个链接 Dependency Walker (包括以下的部分摘抄及链接,2.2 64的下载不下来 ,32的 可以 ,网上有2.1的汉化可以用我使用的谷歌,浏览器,直接右键翻译,用于检查各程序间的DLL依赖)看下其介绍:1、作用(1)扫描任何32位或64位Windows模块(exe,dll,ocx,sys等),并构建所有相关模块的分层树形图;(2)对于找到的每个模块,它列出了...原创 2019-02-15 22:34:39 · 761 阅读 · 0 评论 -
resize(vector)
resize链接: https://pan.baidu.com/s/1TOwNd25JQ25jUul9agtVzg 提取码: 9aps 复制这段内容后打开百度网盘手机App,操作更方便哦连接是同一个转载 2018-12-17 17:58:04 · 345 阅读 · 0 评论 -
CString获取文件类型(返回值可以改比如是不是rar)
文件 ——> 新建项目 ——> win32控制台应用程序 ——> 右键属性 ——> 配置属性 ——> 配置类型 ——> MFC的使用(在静态库中使用MFC)头文件 #pragma once#include <iostream>#include <afx.h>wchar_t *fileType(CString str...原创 2018-12-11 16:22:04 · 204 阅读 · 0 评论 -
获取指定进程的 PID
头文件 GetProcessID.h(由于只是摘抄的部分代码,因此部分头文件中可以屏蔽)#pragma once// 头文件#include <stdio.h>#include <tchar.h>#include <Windows.h>#include <tlhelp32.h>#include <atlstr.h&g...原创 2018-12-15 17:16:30 · 1453 阅读 · 0 评论 -
获取当前模块的进程名
声明:GetProName.h#ifndef _GETPRONAME_H_#define _GETPRONAME_H_namespace SpaceGetProcessName{ char *GetProcesssName(); BOOL isProcess(char *pProName);}#endif实现:GetProName.cpp#include "std...原创 2018-11-22 20:36:23 · 1076 阅读 · 0 评论 -
文件操作
吃下老本文件操作: fopen、fwrite、freadC语言中文网 (作为参考手册还是不错的)原创 2018-10-31 16:45:57 · 105 阅读 · 0 评论 -
驱动的安装和查询
1、dos界面下查询驱动输入:sc query driveName安装驱动命令:sc create fuwuming binpath= "" type= kernelnet start fuwuming // fuwuming 服务名例如:某金没有起来是不是驱动导致(filelock没有安装):sc delete driveName sc create driv...原创 2018-10-16 11:43:01 · 1280 阅读 · 0 评论