- 博客(78)
- 资源 (15)
- 收藏
- 关注
转载 strstr, strcat 函数的实现
strstr函数:返回主串中子字符串的位置后的所有字符。#include <stdio.h>const char *my_strstr(const char *str, const char *sub_str){ for(int i = 0; str[i] != '\0'; i++) { int tem = i; //tem保留主串中的起始判断...
2018-09-26 22:42:56 418
转载 DLL的显式调用与隐式调用
一、隐式调用编译程序时需要头文件、lib文件,运行时需要DLL文件,并且运行过程中DLL文件一直被占用。#pragma comment(lib, "Common.lib")二、显式调用编译时什么都不需要,在需要使用DLL中的函数时,通过LoadLibrary()和FindProcAdress()这两个API调用。只需要一个DLL文件即可,而且在需要使用的时候DLL才被占用,使用完毕即解除占用(Fr...
2018-04-23 15:10:05 922
转载 sizeof与strlen的区别
char str[20]="0123456789"; int a=strlen(str); /*a=10; strlen 计算字符串的长度,以\0'为字符串结束标记。 int b=sizeof(str); /*b=20; sizeof 计算对象所占的内存空间的大小,不受里面存储的内容影响====================================================...
2018-04-21 23:59:10 290
原创 SQLite 和 Berkeley DB 的比较
一、内存数据库:FastDB、BerkeleyDB、SQLite 内存数据库, 顾名思义就是将数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。 最近要做一个项目,需要用到实时数据库,PI太贵了,想找一个免费的,实在不行就只能自己编了。找了半天,找到了FastDB、BerkeleyDB和SQLite...
2018-04-18 15:51:36 9130
转载 Qt Creator快捷键大全
一、常用默认快捷键:编号快捷键功能1Esc切换到代码编辑状态2F1查看帮助(选中某一类或函数,按下F1,出现帮助文档)3F2在光标选中对象的声明和定义之间切换(和Ctrl+鼠标左键一样的效果,选中某一类或函数,按下F2,迅速定位到该类或函数声明的地方或被调用的地方)4F3查找下一个5F4头文件和源文件之间切换6F5开始调试/继续执行7F9设置和取消断点8F10单步跳过9F11单步进入10Shift...
2018-04-12 19:27:41 382
原创 从视频中抓取所有的车牌号
opencv播放视频 (https://blog.csdn.net/qq_32925781/article/details/53709271)opencv抓拍 (https://blog.csdn.net/rainvictor1/article/details/61625143)ocr 技术识别车牌号 (开源的OCR代码,或在线首付的,如阿里云OCR)...
2018-04-11 18:35:57 7857
转载 16位的MD5加密和32位MD5加密的区别
MD5加密后所得到的通常是32位的编码,而在不少地方会用到16位的编码它们有什么区别呢?16位加密就是从32位MD5散列中把中间16位提取出来!其实破解16位MD5散列要比破解32位MD5散列还慢因为他多了一个步骤,就是使用32位加密后再把中间16位提取出来, 然后再进行对比而破解32位的则不需要,加密后直接对比就可以了admin 的加密代码:16位加密:7a57a5a743894a0e32位加密...
2018-04-10 14:35:09 3100
原创 空类对象的sizeof 大小为1
空类对象的sizeof 大小为1空结构体对象的sizeof 大小也为1为什么?深度探索c++对象模型中是这样说的: 那是被编译器插进去的一个char ,使得这个class的不同实体(object)在内存中配置独一无二的地址。 也就是说这个char是用来标识类的不同对象的 这就是我们刚才所说的实例化的原因(空类同样可以被实例化),每个实例在内存中都有一个独一无二的地址,为了达到这个目的,编译器往往会...
2018-04-08 18:11:07 1099
原创 memset一个类指针为0,类对象还可以用吗
答案是肯定的,还可以使用。class CNullPointCall{public: CNullPointCall() { this->m_iTest = 1100; } static void Test1(); void Test2(); void Test3(int iTest); void Test4();private: static int m_iStati...
2018-04-04 14:46:09 964 1
原创 结构体没有重载==,不能判断相等!!没有重载=,可以赋值
struct stStudent{ int num; wstring name; wstring level; bool isTwo;};自定义的结构体,没有重载operator==,是不能进行等于判断的。没有重载operator=,可以进行赋值操作 stStudent a, b; a.isTwo = false; a.level = L"1"; a.name = L"zhans...
2018-04-04 14:34:43 3141
转载 C++ 字符串不区分大小比较
1、使用C++提供的忽略大小写的比较函数使用到的函数不是C++标准库中的函数,windows和Linux下各有不同的实现,所以使用宏定义进行处理实现跨平台stricmp是windows下提供的函数strcasecmp是Linux下提供的函数,使用时需要包含头文件strings.hstring strSrc = "Hello, World";string strDes = "Hello, worl...
2018-04-04 12:53:30 5408
转载 memmove 解决内存拷贝时内存重叠的问题
内存重叠:拷贝的目的地址在源地址范围内。所谓内存重叠就是拷贝的目的地址和源地址有重叠。在函数strcpy和函数memcpy都没有对内存重叠做处理的,使用这两个函数的时候只有程序员自己保证源地址和目标地址不重叠。使用memmove函数可解决内存重叠问题。memmove函数对内存重叠做了处理。重叠从两方面考虑:(1).dest数据覆盖了source; 如:dest(8byte) 地址:1000sour...
2018-04-04 12:00:40 3300
原创 在C++类的构造中调用this指针,会有警告?
以前面试的时候,被问到一个问题:在C++类的构造函数中调用this指针,为什么会有警告?我在vs2017中测试了一下,并没有发现警告!! 还可以正常的给类成员变量赋值。疑惑!!...
2018-04-04 11:48:56 691 2
转载 C++类中this指针的含义
有下面的一个简单的类:class CNullPointCall{public: static void Test1(); void Test2(); void Test3(int iTest); void Test4();private: static int m_iStatic; int m_iTest;};int CNullPointCall::m_iSta...
2018-04-04 11:44:29 1169
转载 C++设计模式
简述设计模式(Design pattern)代表了最佳的实践,在面向对象的编程中被很多老鸟们反复使用。使用设计模式有很多好处:可重用代码保证代码可靠性使代码更易被他人理解……毫无疑问,设计模式于己、于人、于系统都是多赢的。《设计模式》之于程序员,就好比《圣经》之于耶稣信徒一样,意义可想而知!简述什么是 GoF设计模式的类型创建型模式结构型模式行为型模式N 问设计模式源码地址版权所有:一去丶二三里,...
2018-04-03 22:37:36 160
原创 CString CPoint CRect CSize的定义(不明确的符号)
VS程序在编译时报错:CString不明确的符号、CPoint不明确的符号、CRect不明确的符号、CSize不明确的符号。 WTL提供了CString,CRect,CPoint和CSize,后来版本的ATL也提供了,WTL作者推荐使用ATL的实现,所以: #include // CString#include // CRect,CPoint,CSize注意,这两行必须放在
2017-02-06 18:05:07 4078 1
原创 Windows监控文件变化(ReadDirectoryChangesW)
Windows提供了API对文件和目录进行监控,分别是:FindFirstChangeNotification和ReadDirectoryChangesW。FindFirstChangeNotification函数,可以监控到目标目录及其子目录中下有文件发生改变,但不能监控到具体是哪一个文件发生改变。ReadDirectoryChangesW 能监控到目标目录下某一文件发生改变,并
2016-04-28 16:25:15 8271 4
原创 动态dll工程不能生成lib文件
用vs2008创建了一个动态dll项目,编译之后发现没有生成lib文件检查发现是确少.def文件。解决办法:在工程上右键 -> 添加 -> 新建项 -> 选"模块定义文件(.def)" -> 输入名字 -> 添加现在编译就可生成.lib 文件了。模块定义文件(.def)用于导出一个DLL的函数,和__declspec(dllexport)很相似,但是.def
2016-04-25 15:43:18 701
原创 CEidt中导入bmp作为背景图
CBitmap bmp; bmp.LoadBitmap(IDB_BITMAP_APP_SEARCH_EDIT_DEFAULT_BK); CBrush m_brHollow.CreatePatternBrush( bmp ); Ctlcolor 中 return (HBRUSH)m_brHollow;
2016-04-13 13:04:41 480
原创 动态库转静态库遇到的问题
发布时,不需要静态库。vs2008,在工程属性中直接将动态dll转为静态库,1、正式版本在Release-Static中编译,Debug仍可正常使用2、仍使用#pragma comment加载库 #pragma comment(lib,"../Lib/Release-Static/thirdLib.lib")3、dll和主程序的属性中:运行库——多线程(/MT)
2016-04-13 13:03:49 637
原创 VS2008一调试就崩溃
今天遇到一个问题:VS2008只要一调试就假死,但是随后又弹出了编译生成的软件窗口,但VS2008仍然是假死状态。相当诡异,重启电脑也不行。不想重装VS, 只能恢复到初始状态了cmddevenv.exe /ResetSettings devenv.exe /ResetSkipPkgs devenv.exe /Setup
2015-05-11 17:23:07 2811
转载 (STL容器) vector. list. set. deque. map.
C++标准程序库提供了各具特长的不同容器。现在的问题是:该如何选择最佳的容器类别?下表给出了概述。但是其中有些描述可能不一定实际。例如:如果你需要处理的元素数量很少,可以忽略复杂度,因为线性算法通常对元素本身的处理过程比较快,这种情况下,“显性复杂度搭配快速的元素处理”要比“对数复杂度搭配慢的元素处理”来得划算。 作为对上表的补充,使用时: 1.缺省
2015-05-06 09:46:42 572
转载 shlwapi.dll中的实用API函数
在windows system目录下有这个动态链接库 BOOL PathFileExists(LPCTSTR lpszPath)功能:检查文件/路径是否存在 LPTSTR PathFindFileName(LPCTSTR pPath)功能:获得路径中的文件名例如: PathFindFileName( “c:\\Program Files\\File.txt”
2015-04-21 15:39:51 5036
原创 VC中检测设备变化,OnDeviceChange
ON_WM_DEVICECHANGE()BOOL OnDeviceChange(UINT nEventType, DWORD_PTR dwData);//检测设备的变化,当USB设备增加或减少时,响应
2015-01-21 16:12:45 2772
原创 主题项目笔记
1、m_map.insert(m_map.end(), pair(pheme,ti));m_map.insert(pair(pheme,ti));向map中插入元素后,map会自动排序,所以顺序有可能打乱。vector、list、CList都不会自动排序。 2、Html中用js函数输出内容时,出现异常,最后发现是有两处句末缺少尖括号“>”如:document.write
2015-01-21 16:08:29 440
转载 VS远程调试
1、将Release环境的项目的优化改为禁用;VS2010进行远程调试方法总结(2012-06-07 23:15:26)转载▼标签:远程调试方法it分类: 调试假设现在有A、B两台PC机。VS2010安装在A机器上,也就是说A机器是开发使用的机器。B机器是程序运行部署使用的机器,
2014-12-31 17:08:47 731
转载 adb安装应用失败,错误码
安装APK的错误码,定义在android源码中的这个文件中:frameworks\base\core\java\android\content\pm\PackageManager.java /*** if the package is already installed.* 程序已经存在*/public static final int INSTALL_FA
2014-12-01 12:30:41 7664
原创 关于通过vmware安装windows8的几个问题及解决--无人参与应答文件包含的产品密钥无效
最近在安装win8的时候,.输入好密钥可以继续安装,但在后面又提示我“无人参与应答文件包含的产品密钥无效。删除无效的密钥或在无人参与应答文件中提供有效的产品密钥继续进行windows安装”后来发现,把vmware右下角的那个软盘关闭了,错误消息就消失了 点击这个图标并选择 断开连接 即可
2014-11-27 17:59:12 12598 6
原创 HTML(javascript ),ondragstart,禁止鼠标拖动
HTML中,ondragstart="return false", 禁止鼠标拖动该控件PC客户端中内嵌的网页,
2014-11-24 10:18:11 10369
原创 通过ADB启动手机端APK
一、adb shell monkey -p 包名 -c android.intent.category.LAUNCHER 1
2014-09-23 15:21:40 18575
原创 简体中文——繁体转换
一、、、//简体转换为繁体wchar_t* Simp2Trad(const wchar_t* szUnicodeString){ LCID lcid = MAKELCID(MAKELANGID(LANG_CHINESE,SUBLANG_CHINESE_SIMPLIFIED),SORT_CHINESE_PRC); int nLength = LCMapString(lcid,LCMAP_TR
2014-07-28 16:18:06 1285
原创 VC 应用间通信,WM_COPYDATA,WM_SETTEXT
1、使用 WM_COPYDATA 消息发送数据的一方:(获得句柄的方法,最简单的方法就是使用FindWindow,找窗口类,或者名,如果你觉得这样不把握,那就利用SetProp个窗口做个记号....见文章“使用信号量找到窗口句柄”)CString strWindowTitle = _T("ClientDemo"); CString strDataToSend = _T
2014-01-17 19:14:15 2817
转载 动态链接库dll,静态链接库lib, 导入库lib
动态链接库和静态链接库 2010-09-01 23:05:18| 分类:VC/C++ | 标签:|举报|字号大中小 订阅动态链接库dll,静态链接库lib, 导入库lib目前以lib后缀的库有两种,一种为静态链接库(Static Libary,以下简称“静态库”),另一种为动态连接库(DLL,以下简称“动态库”)的导入库(Import Li
2014-01-17 15:07:22 879
转载 动态调用DLL. LoadLibrary和GetProcAddress
动态引入方式就是使用Windows的两个API即LoadLibrary和GetProcAddress,前者用于获得DLL的句柄,后者用于获得DLL中例程的地址,这种方式之所以被称为动态的,是因为它不需要在程序的开始处把要引入的例程全部列出,只要在调用前引入,并且LoadLibrary可以指定不同的DLL,GetProcAddress可以指定不同的例程,最重要的是如果指定的DLL出错,最多是API调
2014-01-17 14:27:28 14933 1
原创 vc资源中的DLL,保存到磁盘
bool ReleaseDll(int dllID, LPCTSTR lpDllPathFileName) //lpDllPathFileName为完整路径 { DWORD dwWritten = 0; HMODULE hInstance = ::GetModuleHandle(NULL); // Find the binary file in resources HRSRC
2014-01-17 14:02:36 978
转载 VC屏幕截图 ,保存成本地文件
函数1: CopyScreenToBitmap //将屏幕指定区域存成图片HBITMAP CxxxDlg::CopyScreenToBitmap(LPRECT lpRect) //lpRect 代表选定区域{ HDC hScrDC, hMemDC; // 屏幕和内存设备描述表 HBITMAP hBitmap,hOl
2013-12-27 10:25:15 1218 1
转载 VC获取文件大小的方法
VC获取文件大小的方法(转) 前几天在工作中需要写一段代码,获取一些视频文件的大小,心想:这还不简单吗?直接用标准C 的文件操作函数就OK了。于是写了下面的一段代码来实现:unsigned long get_file_size(const char *filename){unsigned long size;FILE* fp = fopen( file
2013-12-18 18:01:54 1544
原创 使用GDI+绘制圆环,抗锯齿 (vc)
void CRoundWnd::OnPaint(Gdiplus::Graphics* dc){ dc->SetSmoothingMode(Gdiplus::SmoothingModeHighQuality);//抗锯齿 //外圆 Gdiplus::Pen pen(Gdiplus::Color(255, GetRValue(m_crOuterClr), GetGValue(m_cr
2013-12-16 11:06:42 12218 1
原创 CMenu改变菜单背景色,添加图标
if (!mMenuConfig.m_hMenu) { mMenuConfig.CreatePopupMenu(); mMenuConfig.AppendMenu(MF_STRING,ID_MENU_MORE_CONFIG, _T("设置")); mMenuConfig.AppendMenu(MF_STRING,ID_MENU_MORE_UPGRADE, _T("更新")); m
2013-12-12 16:46:42 7944
cmake-3.21.3.tar.gz
2021-09-30
TMS320C6000系列DSPs原理与应用(第二版)(pdf版本)
2019-01-23
标准库STL_第1节_顺序容器
2017-12-30
将点9图片自动生成目标大小的图片
2013-12-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人