- 博客(13)
- 资源 (17)
- 收藏
- 关注
原创 C++Primer笔记--数组
字符数组的特殊性可以用字符串字面值来初始化,当使用这种方式时,一定要注意字符串字面值结尾处还有一个空字符‘\0’。在分配内存空间时需要多为空字符预留一个字符空间。数组不允许拷贝和赋值int a[] = {0,1,2};int a2[] = a;//错误a2 = a;//错误有些编译器支持数组的赋值,这就是所谓的编译器扩展(compiler extension)。但一般来说,
2017-03-26 23:40:44 290
原创 C++Primer5 笔记--迭代器运算
vector 和 string 迭代器支持的运算iter + niter - n迭代器加上或减去一个整数值仍得到一个迭代器,迭代器指示的新位置与原来相比向前/向后移动了若干个元素。iter1 += n迭代器加法的复合赋值语句,将 iter1 加上 n 的结果赋给 iter1iter1 -= n同加法相同理解iter1 - iter2 两个迭代器
2017-03-25 23:05:57 999
原创 C++Primer笔记--vector 对象 string 对象的下标操作警告
vector 对象以及 string 对象的下标运算符可用于访问已存在的元素,而不能用于添加元素。vector ivec;for(decltype(ivec.size()) ix = 0; ix != 10; ++ix) ivec[ix] = ix;//严重错误:ivec 不包含任何元素 ivec 是一个空 vector,根本不包含任何元素,当然也就不能通过下标去访问任何元素了,正
2017-03-22 00:09:05 658
原创 CString 获取中文,字母及数字的字节数
有时候因为软件显示区域有限,需要限制用户输入字符长度,而中文和数字英文占的位置并不一样宽。而 CString 的自带函数 GetLength() 是获取字符数,一个中文,一个字母或者一个数字都是占一个字符。如果限制只能输出4个汉字,显然用户输入字母或数字就太短了,所以就要取 CString 所占的字节数,汉字占2个字节,字母和数字占一个。如下:CString text = _T("中国12
2017-03-17 10:46:32 7142 6
原创 VC 确保你要的路径创建成功
在创建本地文件前都要先去检查文件夹路径是否存在,如果不存在则需要去创建它,假设已有路径 D:\work 。1.保存一个文件到 D:\work\test 路径下检查路径代码可以这么写: CString strPathPre = _T("D:\\work\\test") if (!PathIsDirectory(strPathPre)){ CreateDirectory(st
2017-03-16 16:12:24 495
原创 【整理】MFC下 各种字符串类型之间转换(MSDN及其他写法)
MSDN帮助文档如何:在各种字符串类型之间进行转换CString转换UniCode 下 CString 转 char* 的方法CString与char *互转总结MFC中Cstring与char *的转换LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR各个字母代表意义
2017-03-15 17:12:56 959
原创 C++Primer笔记--变量和基本类型
符合类型的声明一条定义语句可能定义出不同类型的变量:// i 是一个 int 型的数,p 是一个 int 型指针,r 是一个int 型引用int i = 1024, *p = &i, &r = i;错误观点:在定义语句中,类型修饰符(*或&)作用于本次定义的全部变量。造成这种错误看法的有个原因就是我们可以把空格写在类型修饰符和变量名中间:int* p; //合法,但
2017-03-15 00:26:50 306
转载 CString const char*与char*之间的转换关系
发现一篇好文,原文看得很费眼故而整理一下,原文CString 是个好东西,有很多好用的成员函数,并且动态分配内存空间。但在 MFC 学习初期,容易把 CString 与 const char*,char* 混淆。遇到三种类型数据转换时,总是得过且过。下面就剖析一下三者之间的转换关系与方法。1、CString 与 const char*(LPCTSTR---是在Unicode
2017-03-10 16:16:49 459
原创 SQL 同时对多个表进行模糊查询并自定义顺序
使用场景类似qq主面板的搜索框,可以输入数字,字母(汉字首拼),中文进行模糊搜索,可以搜到的结果有:qq号,昵称,群号,群名称等等。而这些内容可能存放在不同的表中,则需要对多个表的多个内容同时进行搜索:(搜索的字段3个表中必须相同)SQL语句SELECT *FROM ( SELECT FLAG, SID, ID, NAME, MOBILE
2017-03-09 11:24:37 7575 3
原创 模拟鼠标移动、点击,双击,键盘输入,鼠标滚轮滚动
在处理界面问题的时候,有时需要模拟鼠标移动或者点击来快速解决问题。比如界面某个区域或者某个按钮没有重画,把鼠标移上去或者点击一下后就正常了,而有时候又一时找不到原因,可以模拟鼠标移动点击来实现你想要的效果。处理过程就是先记住原始鼠标坐标,再移动到你想要的坐标或者点击,之后再移到原始坐标点。代码如下: CPoint pointOld; GetCursorPos(&pointOld);/
2017-03-09 10:27:10 9020 2
原创 c++Primer5--如何选择类型
和c语言一样,c++的设计准则之一也是尽可能地接近硬件。C++的算术类型必须满足各种硬件特征,所以它们常常显得繁杂而令人不知所措。事实上,大多数程序员能够(也应该)对数据类型的使用做出限定从而简化选择的过程。以下是选择类型的一些经验准则:当明确知晓数值不可能为负时,选用无符号类型。使用int执行整数运算。在实际应用中,short常常显示太小而 long 一般和 int 有一样的
2017-03-07 23:36:49 260
原创 获取汉字首拼函数(据说该方法来自BCB函数库)
之前项目有个需求是要支持拼音搜索姓名,那么首先得保持姓名的首拼字母,那么字母获取汉字的首拼呢?经过网络搜索及测试,发现有个方法比较靠谱,据说是BCB的函数库,反正里面的实现原理是看得头疼,至今未解。std::string ConvertHZToPY( const char* strChs ){ static int li_SecPosValue[] = { 1601, 1637
2017-03-02 18:19:37 927
原创 MFC Combobox 输入内容自动补全并选中缺失部分(类似qq登录输入账号)
客户端是需登录的,登录是需要输入账号的,每次输入重复的东西总会让人厌烦,于是乎需要程序自动补全你想输入的内容。MFC里面通常用来实现登录账号的控件就是Combobox啦。首先你得有保存用户之前的登录记录,这个记录一般保存在数据库中。既然数据有了就只要在用户输入一个账号前面部分字符的时候,使用已输入的字串去数据库里查找与之相匹配的记录,按时间倒序取给用户自己去快速选择。重点就是要处理 Com
2017-03-02 17:41:57 2059
Qt 弹出菜单右键菜单 QMenu 设置不同颜色的子项
2024-09-14
动态捕获Windows窗口句柄工具
2023-02-10
pjsip支持mp3编译库 libpjproject-i386-Win32-vc14-Release
2022-07-28
IBindStatusCallback子类
2018-06-12
【源代码】phonon-mplayer 后端插件,扩展支持mp4、rmvb、acc等视音频格式
2018-03-31
源代码电脑通过adb控制安卓手机
2018-03-28
[源码]比较成熟dll导出类示例(包含win32和mfc两种dll以及exe调用示例)
2018-03-20
源码中文和 Unicode 互转
2017-09-18
QT 中使用 Windows API----SendMessage() 进行窗体间消息传递
2017-07-14
QTextEdit 实现 QLineEdit 的 setPlaceholderText() 和 setMaxLength ()函数
2017-07-13
Log4Cpp使用实例
2017-02-20
MicroSIP 增加 g729 源代码
2016-12-23
SocketTool
2015-10-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人