- 博客(138)
- 资源 (4)
- 收藏
- 关注
转载 Qt5 C++源码中使用中文的简单步骤
GCC、Clang等编译器使用中文都是非常简单的,唯独MSVC是个毒瘤,本文给出的方案均可跨GCC、Clang平台,所以在文字上只需提及MSVC的版本。对VS2015Update2及以上版本如果你在使用VS2015Update2、VS2017。只需要在.pro文件内加入如下代码即可。(源码使用UTF8,不需要BOM)复制代码win32-msvc*: { QMAKE_CFLAGS...
2019-05-09 14:03:02
1037
转载 关于border-image属性
border-image属性把边框的背景设置为图片。详细解析可以查看该网址:http://www.360doc.com/content/14/1016/13/2792772_417403574.shtml一、浏览器对它的支持Firefox3.5-Firefox15 需要加-moz-前缀Firefox15以上 同样支持-moz-前缀的css代码,但是必须在...
2019-04-27 23:04:30
802
转载 JsonCpp
JsonCpp 的使用JSON全称为JavaScript ObjectNotation,它是一种轻量级的数据交换格式,易于阅读、编写、解析。jsoncpp是c++解析JSON串常用的解析库之一。jsoncpp中主要的类:Json::Value:可以表示所有支持的类型,如:int , double ,string , object, array等。其包含节点的类型判断(isNull,isBool,i...
2018-04-23 17:21:54
805
转载 一些常用到的文件路径相关的API
Path API需要头文件:shlwapi.h其中有一些函数功能存在重复,我在认为比较常用的的函数上加红。BOOL PathFileExists(LPCTSTR lpszPath)功能:检查文件/路径是否存在LPTSTR PathFindFileName(LPCTSTR pPath)功能:获得路径中的文件名例如:PathFileFileName( “c://Prog
2017-11-30 09:59:17
1731
转载 C++产生正态分布
1.求均值double sum = std::accumulate(std::begin(resultSet), std::end(resultSet), 0.0); double mean = sum / resultSet.size(); //均值 2.求方差double accum = 0.0; std::for_each (std
2017-09-09 17:10:12
6163
转载 服务器中判断客户端socket断开连接的方法
下面来罗列一下判断远端已经断开的方法:法一:当recv()返回值小于等于0时,socket连接断开。但是还需要判断 errno是否等于 EINTR,如果errno == EINTR 则说明recv函数是由于程序接收到信号后返回的,socket连接还是正常的,不应close掉socket连接。 法二: struct tcp_info info; in
2017-09-08 16:44:57
3941
转载 vc中对话框使用技巧集合
注:以下代码以一个名为CTest6Dlg的对话框类为例--------------------------------------------------------------------------------1. 在任务栏隐藏对话框 ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW);---------
2017-09-08 16:26:47
749
转载 值得推荐的C/C++框架和库 (真的很强大)
分类:C++目录(?)[-]值得学习的C语言开源项目- 1 Webbench- 2 Tinyhttpd- 3 cJSON- 4 CMockery- 5 Libev- 6 Memcached- 7 Lua- 8 SQLite- 9 UNIX v6- 10 NETBSDC 资源大全标准库框架人工智能异步事件循环音频生态学压缩并发性容器密码学数据库调试游戏引擎
2017-07-02 18:17:28
864
转载 用代码操纵剪切板
拷贝与粘贴文本 下边的源代码演示了如何将文本(包含在CString对象“source”中)拷贝到剪贴板上。 CString source; //put your text in source if(OpenClipboard()) { HG
2017-06-16 08:58:01
1089
转载 vc中删除文件夹以及文件夹中的内容的三种方法
BOOL CDeleteFolderDlg::DeleteFolder(CString lpszPath)//删除文件夹以及文件夹内的文件{ CHAR szFromPath[_MAX_PATH];//源文件路径memcpy(szFromPath, lpszPath, lpszPath.GetLength());szFromPath[lpszPath.GetLength() +
2017-03-11 14:03:08
8039
转载 MFC操作注册表
打开注册表键 1 LONG RegOpenKeyEx(2 HKEY hKey, // handle to open key主键3 LPCTSTR lpSubKey, // subkey name子键4 DWORD ulOptions, // reserved。必须是05 REGSAM samDesired, // security
2017-02-22 14:49:22
535
转载 Jsoncpp的使用
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括
2017-01-17 09:33:29
376
转载 正确编译 DuiLib 静态库的方法
使用 DuiLib 做过一个非常小的项目,当时因为没有研究清楚如何编译为静态库遂使用了 DuiLib.dll 的动态库来做的。最近自己又有使用 DuiLib 的需求,而且希望能编译成静态库使用,所以研究了一下(在群里也有很多朋友帮忙,最终解决了问题)。网上流传的一些注释原有代码一些宏定义并声明一个 UILIB_API 的方法并不正确,因为代码里面有专门针对静态库处理的位置,比如下面的代码:st
2017-01-10 13:45:17
7547
转载 Visual Studio原生开发的10个调试技巧
最近碰巧读了Ivan Shcherbakov写的一篇文章,《11个强大的Visual Studio调试小技巧》。这篇文章只介绍了一些有关Visual Studio的基本调试技巧,但是还有其他一些同样有用的技巧。我整理了一些Visual Studio(至少在VS 2008下)原生开发的调试技巧。(如果你是工作在托管代码下,调试器会有更多的特性,在CodeProject中有介绍它们的文章),下面是
2016-11-22 18:11:43
454
原创 VC通用对话框
1.选择文件对话框 CFileDialog FileDialog(TRUE,NULL, NULL, OFN_READONLY|OFN_CREATEPROMPT,_T("Region File(*.reg)|*.reg||"),this);CString strPath = m_pObj->GetProjectDir()+_T("Region");FileDialog.m_ofn.l
2016-11-03 14:42:46
954
转载 将数组一次性拷贝到vector的一种方法
主要是利用vector::reserve,vector::resize和memcpy或者assign这几个函数stl容器中size()/resize(), reserve()/capacity()为两对对应接口,vector为保持高速随机访问,采用连续内存分配,如果插入一个新的元素,但是预留空间已经用完(size()==capacity()),此时会重新分配新的内存空间,将原空间的
2016-11-03 09:56:55
26624
1
转载 C++ 中的位操作
定义二进制变量:一般是以八进制或者十六进制来定义,八进制数以0开头,十六进制数以0x开头例如int a = 0x80, 这里的80只能表示8个二进制位,它表示的是int的低8位,前面的24个二进制位补0,所以a = 128;也可以 a = –0x80, 此时a = -128;8进制同理需要注意的是:如果0x…能够在整形内表示,则其默认是int,否则再看unsigned i
2016-10-13 19:11:17
5385
转载 VC实现程序重启的做法
很多时候系统有很多配置项,修改了配置项之后能有一个按钮实现系统重启。所谓重启就是杀死系统的当前进程,然后重新开一个新进程。同事探索了一下,实现了这个功能。我总结了一下他的经验。下面一个MFC的对话框程序的按钮响应函数说明如何实现。 [cpp] view plain copy// 重启按钮响应函数 void CTestRebootDl
2016-10-07 15:27:05
1017
转载 pugixml库
来源:http://blog.youkuaiyun.com/clever101以前觉得tinyxml也是一个挺好的操作xml文件的库。最近找到了pugixml库,发现pugixml库对tinyxml可谓是全面胜出。 一.支持字符集:tinyxml不支持unicode(这个可谓是很多人不愿意用tinyxml的原因之一),pugixml支持UTF8 encoding、Little-
2016-10-07 14:45:34
1466
转载 打造圆润的mfc
添加如下文件:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'最后 效果就是:
2016-08-28 15:11:51
444
转载 番茄助手快速添加注释+快捷键
官网讲解:http://www.wholetomato.com/products/features/vasnippets.asp一个好的项目工程,注释是必不可少的,vc助手中有一个功能可以帮助我们快捷添加注释。设置方法如下: 1、点击Visual Assist X Options 2、选择ADvanced->suggestions,在右侧选择Edit VA Snippe
2016-08-27 18:39:04
10052
转载 VS插件应用 ---- VS10x Code Map v2
在 Visual Studio 2010 里写程序虽然有语法高亮度显示,但是在开启档案后阅读较大的程序代码档还是不太方便,因为你无法快速的理解目前该档案的程序代码结构,例如说该档案里有几 个类别、几个接口、彼此有继承关系、几个批注或 #region 等等,但我们透过 VS10x Code Map v2 这个扩充套件便可透过不同的颜色、图示得知目前程序代码的结构,只要你跟他混熟了,相信你可以不用
2016-08-18 14:02:29
671
转载 ATL字符串转换宏
有比MultiByteToWideChar和WideCharToMultiByte更简单的字符串转换宏,你相信吗?头文件d:/program files/microsoft visual studio 8/vc/atlmfc/include/atlconv.h如果要使用ATL字符串转换宏,请先定义USES_CONVERSION; // 只需要调用一次,就可以在函数中进行多
2016-07-20 14:21:49
1484
转载 c++容器使用经验总结
第1章 容器第1条:慎重选择容器类型。标准STL序列容器:vector、string、deque和list。标准STL关联容器:set、multiset、map和multimap。非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一“重型”string。非标准的关联容器hash_set、hase_multiset、hash_map和hash_mult
2016-07-16 14:51:46
3512
转载 电机参数与脉冲当量的计算方法
1、丝杠的螺距是指:丝杠每两个丝之间的距离,如,螺距为 5MM。 2、电机的步进角是指:一个脉冲驱使步进电机转动的角度,如,步进角为1.8度的电机,转一圈就要:360度×1.8度 =200个脉冲。 3、驱动器的细分是指:把步进角再分割成N等分,如,8细分就是把1.8度的步进角再分成8分,细分后电机每一步进就是1.8度÷8=0.225度,转一圈就要:360度÷0.225度=
2016-07-15 14:40:27
17469
3
转载 获取VS2012离线语言包
1.下载vs_langpack.exe2.放到D盘3.打开cmd 4.cmd中输入 d: 5.再输入 vs_langpack.exe /layout 指定下载位置即可得到离线安装包
2016-06-30 17:22:33
2700
转载 【干货】国外程序员整理的 C++ 资源大全
摘要:C++是在C语言的基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言。应用较为广泛,是一种静态数据类型检查的,支持多重编程的通用程序设计语言。关于 C++ 框架、库和资源的一些汇总列表,由 fffaraz发起和维护。内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。标准库C++ Standard
2016-05-18 18:10:43
615
转载 一些C++经典书籍
c++程序设计教程 c++编程思想 c++大学教程 c++程序设计语言 数据结构算法与应用c++语言描述 c++标准模板库------自修教程与参考手册 泛型编程与STL 深度探索c++对象模型 设计模式---可复用面向对象软件的基础 重构---改善既有代码的设计 Essential c++ Effective c++ More Effctive c
2016-05-16 15:46:22
13668
转载 基于TCP(面向连接)的socket编程
基于TCP(面向连接)的socket编程一.基于TCP(面向连接)的socker编程的服务器端程序流程如下:(1) 创建套接字(socket)(2) 将套接字绑定到一个本地地址和端口上(bind)(3) 将套接字设置为监听模式,准备接收客户请求(listen)(4) 等待客户请求的到来;当客户请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(
2016-05-16 15:28:08
1146
转载 内存中的数据对齐
为何要字节对齐简单来说就是提高cpu对内存的访问效率。为了访问未对齐的内存,处理器需要作两次内存访问;然而,对齐的内存访问仅需要一次访问。比如有些平台每次读都是从偶地址开始,如果一个int型(假设为32位系统)存放在偶地址开始的地方 ,那么读一个周期就可以读出这32bit,而如果存放在奇地址开始的地方,就需要读2个周期,并对两次读出的结果的高低字节进行拼凑才能得到该32bit数据。二.基本
2016-05-16 15:20:19
359
转载 windows客户端开发--让你的客户端崩溃之前生成dump文件
debug时候我们可以很快速、精确的定位问题所在。但是对于release版本,我们往往无能为力。尤其面对一群难缠的客户,情况就会更加糟糕。而且对于release版本来说,crash的时候日志系统往往起不到任何作用。而且,我们也不可能捕获所有的异常,更何况,客户端崩溃的原因都是我们捕获不了的异常。这就需要dump文件了。dump文件是C++程序发生异常时,保存
2016-04-20 09:59:51
924
转载 sqlite封装库SmartDB1.3发布
最近终于稍微有点空对SmartDB进行升级了,SmartDB1.3比之前的版本做了简化,增强了易用性和灵活性。 SmartDB对sqlite做了一层封装,屏蔽了诸多细节,使得我们使用起来很方便。在注重易用性的基础上还兼顾了性能和灵活性。易用性接口很简单,基本接口有如下几个:void Open(const string& fileName);bool Close();
2016-04-08 15:59:21
601
转载 c++11 输出时间
c++11 输出时间C++11中输出当前时间最直接的方法:std::time_t t2 = std::time(nullptr);cout "%Y-%m-%d %H.%M.%S") "." 这种方法可以输出年月日时分秒,不过却不能输出毫秒,如果要输出毫秒需要用下面的方法:auto n = chrono::system_clock::now();au
2016-04-08 15:51:02
5426
3
转载 UML类图关系大全【转】
1、关联双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关系必须被映射为对象引用或指针。对象引用本身就是有向的,更适合表达我们所讨论的那种关系。所以这种关系在设计的时候比较少用到,关联一般都是有向的。
2016-03-22 16:55:42
349
转载 dll 导出函数名的那些事
经常使用VC6的Dependency查看DLL导出函数的名字,会发现有DLL导出函数的名字有时大不相同,导致不同的原因大多是和编译DLL时候指定DLL导出函数的界定符有关系。VC++支持两种语言:即C/C++,这也是造成DLL导出函数差异的根源我们用VS2008新建个DLL工程,工程名为"TestDLL"把默认的源文件后缀 .CPP改为.C(C文件)输入测试代码如下:01 in
2016-03-10 11:43:37
574
转载 C++ 的 get_time 和 put_time 函数
为了快速的时间格式转换. C++ 引进了 get_time 和 put_time 函数#include #include#includeint main(){std::time_t t = std::time(NULL);std::tm tm = *std::localtime(&t);std::cout.imbue(std::locale("CHS"));
2016-03-06 16:06:04
9570
转载 Sqlite学习笔记(五)&&SQLite封锁机制
概述 SQLite虽然是一个轻量的嵌入式数据库,但这并不影响它支持事务。所谓支持事务,即需要在并发环境下,保持事务的ACID特性。事务的原子性,隔离性都需要通过并发控制来保证。那么Sqlite的并发控制是怎样的,如何实现,在这里跟大家分享下我的理解。 SQLite是一个文件数据库,所有的数据都在一个db文件中,对于wal模式,还包含wal索引文件和wal日志文件。S
2016-03-06 14:48:20
809
转载 程序员必读书单
原文链接:http://lucida.me/blog/developer-reading-list/关于本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必读书籍,以及延伸阅读。旨在成为最好最全面的程序员必读书单。前言Reading makes a full man; conference a ready man;
2016-03-06 14:45:46
472
转载 (原创)一个简洁通用的调用DLL函数的帮助类
本次介绍一种调用dll函数的通用简洁的方法,消除了原来调用方式的重复与繁琐,使得我们调用dll函数的方式更加方便简洁。用过dll的人会发现c++中调用dll中的函数有点繁琐,调用过程是这样的:在加载dll后还要定义一个对应的函数指针类型,再调用GetProcAddress获取函数地址,再转成函数指针,最后调用该函数。下面是调用dll中Max和Get函数的例子。void TestDll(
2016-02-19 14:27:07
365
解决方案垃圾文件清理器
2017-11-25
VC通过Http协议Get或Post方式与WebService通信,解析返回的Json
2017-11-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人