![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 68
酷兒
这个作者很懒,什么都没留下…
展开
-
boost::property_tree实例用法
boost::property_tree 的解析xml模块是基于rapidXml的, 以下是两个例子:例子1: [cpp] view plaincopy#include #include #include #include using namespace std; void Rea原创 2012-09-29 13:42:04 · 9221 阅读 · 1 评论 -
C++开源库详细介绍
C++在“商业应用”方面,曾经是天下第一的开发语言,但这一桂冠已经被java抢走多年。因为当今商业应用程序类型,已经从桌面应用迅速转移成Web应用。当Java横行天下之后,MS又突然发力,搞出C#语言,有大片的曾经的C++程序员,以为C++要就此沉沦,未料,这三年来,C++的生命力突然被严重地增强了。主力原因就是开源的软件、基础软件(比如并发原生支持,比如Android必定要推出原生的SD转载 2013-05-09 13:38:38 · 674 阅读 · 0 评论 -
Arx常用代码《转》
设置当前的layer和textstyle // Function name : SetCurTextStyle // Description : 设置当前TextStyle // Return type : Acad::ErrorStatus // Argument : const char* lpStyleName原创 2013-07-03 15:12:29 · 2382 阅读 · 0 评论 -
C++开发者都应该使用的10个C++11特性
在C++11新标准中,语言本身和标准库都增加了很多新内容,本文只涉及了一些皮毛。不过我相信这些新特性当中有一些,应该成为所有C++开发者的常规装备。你也许看到过许多类似介绍各种C++11特性的文章。下面是我总结的,C++开发者都需要学习和使用的C++11新特性。 auto在C++11之前,auto关键字用来指定存储期。在新标准中,它的功能变为类型推断。auto现在成了一个类原创 2013-07-27 11:47:34 · 1809 阅读 · 1 评论 -
哲学家进餐问题
/**********************************哲学家进餐问题*************/ #include #include #include //宏定义信号量个数为5,宏定义0表示思考,宏定义1表示饿,宏定义2表示吃,宏定义(ph_num+4)%N表示左,宏定义(ph_num+1)%N表示右 #define N 5 #define THIN原创 2013-09-05 15:50:31 · 809 阅读 · 0 评论 -
全排列(含递归和非递归的解法)
全排列(含递归和非递归的解法)全排列在近几年各大网络公司的笔试中出现的比较频繁首先来看看题目是如何要求的(百度迅雷校招笔试题)。用C++写一个函数, 如 Foo(const char *str), 打印出 str 的全排列,如 abc 的全排列: abc, acb, bca, dac, cab, cba一、 递归版本1、算法简述简单地说:就是第转载 2013-09-17 09:40:18 · 564 阅读 · 0 评论 -
int main(int argc,char* argv[])详解
argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数 命令行后面跟的用户输入的参数,比如: int main(int argc, char* argv[]) { int i; for (i = 0; i i++) cout原创 2013-09-22 10:41:03 · 492 阅读 · 0 评论 -
IDR_MAINFRAME字符串资源中各子串的含义
IDR_MAINFRAME字符串资源中各子串的含义IDR_MAINFRAME字符串资源中包含7个子串,分别以/n结束,即如下格式:/n/n/n/n/n/n/n(1)CDocTemplate::windowTitle,主窗口标题栏上的字符串,MDI程序不需要指定,将以IDR_MAINFRAME字符串为默认值。(2)CDocTemplate::docName,缺省文档的转载 2014-06-20 13:58:16 · 548 阅读 · 0 评论 -
sscanf,sscanf_s及其相关用法
#include 定义函数 int sscanf (const char *str,const char * format,........);函数说明 sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。返回值 成功则返回参数数目,失败则返回-1,错误原因存于errno中转载 2015-02-03 16:17:55 · 380 阅读 · 0 评论 -
几种C++ std::string和std::wstring相互转换的转换方法
几种C++ std::string和std::wstring相互转换的转换方法第一种方法:调用WideCharToMultiByte()和MultiByteToWideChar(),代码如下(关于详细的解释,可以参考《windows核心编程》):#include #include using namespace std;//Converting a WChar stri转载 2015-06-02 09:41:04 · 542 阅读 · 0 评论 -
CompareNoCase与Compare
函数原型编辑int CompareNoCase( LPCTSTR lpsz ) const; 这个函数使用lstrcmpi函数对一个CString和另一个CString进行比较。由参数lpsz指定这个用于比较的string。如果两个对象完全一致则返回0,如果小于lpsz,则返回-1,否则返回1.比如,利用CompareNoCase比较str与lpsz,等同于不区分大小写比较str与lpsz转载 2015-08-10 14:32:15 · 2856 阅读 · 0 评论 -
飞秋实现的原理
(1)最关键的是局域网用户列表的建立;飞秋启动时使用UDP协议向255.255.255.255这个广播地址发送广播包,默认端口是2425。广播包内容包含用户名、工作组、主机名、IP等信息;已启动飞秋的用户通过2425端口收到此广播包后,就会在自己的用户列表中添加这个用户的用户名、工作组等信息,同时向对方IP发送本机用户的个人信息;从而双方都能建立起用户列表;(2)刷新用户列表时发送转载 2015-07-31 15:17:41 · 6879 阅读 · 0 评论 -
ReadString在UNICODE下中文乱码的解决办法(CHS)
用CStdioFile类中的ReadString()方法可以从文件中读取一行,但是在Unicode下,读取的内容有误,同时也无法将中文利用WriteString()写入文件。原因就在于读取文件时是按照 ascii 方式读取的,而直接设定字符串时,是按照unicode 方式读取的。若使得读取文件时按照 Unicode 方式读取,则需要添加:setlocale( LC_CTYPE, "转载 2015-08-14 11:32:54 · 1300 阅读 · 0 评论 -
C/C++获取当前系统时间
个人觉得第二种还是比较实用的,而且也是最常用的~不过当计算算法耗时的时候,不要忘记second,不能只要用Milliseconds来减,不然后出现负值,若是算法耗时太长就得用minutes啦。再不然,就hours……//方案— 优点:仅使用C标准库;缺点:只能精确到秒级#include #include int main( void ) { time转载 2015-08-07 09:49:53 · 448 阅读 · 0 评论 -
C++内存管理
[导语]内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都会发生,因此要想成为C++高手,内存管理一关是必须要过的,除非放弃C++,转到Java或者.NET,他们的内存管理基本是自动的,当然你也放弃了自由和对内存的支转载 2016-09-24 17:07:34 · 293 阅读 · 0 评论 -
多线程死锁调试小技巧
据说再高的高手在写多线程程序的时候都难确保不会产生死锁,死锁的调试也就成为一个比较常见的问题,假设有下面这样一个问题: 一个正在生产环境下运行的进程死锁了,或者你只是在跑一个程序,并没有在调试器里面打开它,然后发现没有响应,日志输出也停止了。由于你是一个有经验的程序员,会想到“我刚刚加上了新的锁策略,不一定稳定,这可能是死锁了“。但是你不想就这么杀掉进程,因为多线程的 bug 不容易重现转载 2016-09-24 17:31:22 · 433 阅读 · 0 评论 -
排序算法实现及分析
所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。其确切定义如下: 输入:n个记录R1,R2,…,Rn,其相应的关键字分别为K1,K2,…,Kn。 输出:Ril,Ri2,…,Rin,使得Ki1≤Ki2≤…≤Kin。(或Ki1≥Ki2≥…≥Kin)。 排序的时间开销可用算法执行中的数据比较次数与数据移动次数来衡量。基本的排序算法有如下几种:交转载 2013-04-27 16:13:38 · 510 阅读 · 0 评论 -
VC中free()函数调试错误原因
VC中free()函数调试错误原因:malloc了一个大小为sizeof(A)的空间,而分配后,会在第sizeof(A)+1个位置上写一个特殊数据,来表示分配的这段空间的结束。所以,如果这个位置被覆盖,则这个结束标志位被擦除,导致free时会出错!!!原创 2013-01-31 14:10:29 · 509 阅读 · 0 评论 -
关于为什么类的静态成员变量不能立即初始化
我们都知道代码1是错误的,今天我去追究其原因。当然有些地方属于个人理解,有所纰漏,请不吝惜指正。 // test.h[c-sharp] view plaincopyclass Test { public: static int a = 5; };转载 2013-01-10 09:33:48 · 2691 阅读 · 0 评论 -
C++里TRUE和true DWORD和HWND区别
1.C++里大写TRUE和小写true区别 true是bool型的; TRUE是int型的,VC里这个是ms自己定义的;C++规定不允许只通过返回类型不同区别两个函数 2.而”DWORD"和“HWND"分别指什么? DWORD类型表示“双字”,也就是四字节大小的整型值,在windef.h 中,DWORD的定义如下: typedef unsigned long DWO原创 2012-10-08 09:48:20 · 1856 阅读 · 0 评论 -
c++设计模式:单件模式(Singleton Pattern)
定义:单件模式确保一个类只有一个实例,并提供一个全局访问点实现一:#include using namespace std;class CSingleton{public: static CSingleton* getInstance(); static void cleanInstance(); int getValue(); voi原创 2012-09-14 13:32:21 · 337 阅读 · 0 评论 -
VS2010下安装boost库
1.去www.boost.org下载最新的boost,我下载了boost_1_46_1.7z2.(我放在D:/cpp目录下)解压到当前文件夹3.打开VS2010->VS TOOLS->VS命令提示4.CD D:/cpp/boost_1_46_1 5.输入bootstrap,便生成bjam.exe文件6.输入bjam toolset=msvc-10.0 var转载 2012-09-17 11:07:23 · 208 阅读 · 0 评论 -
sleep函数简介
在VC中使用带上头文件 #include 注意: 在VC中Sleep中的第一个英文字符为大写的"S" 在标准C中是sleep, 不要大写.. 下面使用大写的来说明,, 具体用什么看你用什么编译器. 简单的说VC用Sleep, 别的一律使用sleep. Sleep函数的一般形式: Sleep(unisgned long); 其中,Sleep()里面的单位,原创 2012-09-17 14:02:00 · 646 阅读 · 0 评论 -
C++中的静态变量和函数
类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。 静态类成员包括静态数据成员和静态函数成员两部分。 一 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时原创 2012-09-14 10:57:09 · 338 阅读 · 0 评论 -
C++Boost库介绍
Boost库是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库由Boost社区组织开发、维护。其目的是为C++程序员提供免费、同行审查的、 可移植的程序库。Boost库可以与C++标准库完美共同工作,并且为其提供扩展功能。Boost库使用Boost License来授权使用,根据该协议,商业的非商业的使用都是允许并鼓励的。Boost社区建立的初衷之一就是为C++的标准化转载 2012-09-18 09:39:13 · 1157 阅读 · 0 评论 -
深入浅出C/C++中的正则表达式库(二)——Boost.Regex
原创文章,转载请注明出处:小武哥的博客本文固定链接:http://www.wuzesheng.com/?p=965写在前面:本文是《深入浅出C/C++中的正则表达式库》系列的第二篇,如果对本文感兴趣,相信你也会对《深入浅出C/C++中的正则表达式库——GNU Regex Library》感兴趣。本文主要介绍Boost中的正则表达式库,通过介绍其基本内容与相关接口,希望能够教读者朋友学会转载 2012-09-20 10:01:20 · 1031 阅读 · 0 评论 -
深入浅出C/C++中的正则表达式库(一)——GNU Regex Library
写在前面: 本文是面向有正则表达式基础的读者朋友的,如果你还不知道正则表达式是什么,请先到这里学习一下 :http://en.wikipedia.org/wiki/Regular_expression。正则表达式(Regular Expressions),又被称为regex或regexp,是一种十分简便、灵活的文本处理工具。它可以用来精确地找出某文本中匹配某种指定规则的内容。在linux下转载 2012-09-20 09:58:45 · 695 阅读 · 0 评论 -
arx & c++ 开发技巧讲解
以下是做CAD二次開發一年多來的一些讀書筆記﹕节选于《AutoCAD高级开发技术:ARX编程及应用》跟大家分享一.图块设计技术:在AutoCAD数据库中,以各图块实际上市存储在块表记录里的实体集合。每个图块从一格AcDbBlockBegin对象开始,紧接着是一个或多个AcDbEntity对象,最后以AcDbBolckEnd对象结束,按其所属关系得层次结构分为三层:第一层为块原创 2012-10-29 16:47:23 · 1635 阅读 · 0 评论 -
转载:char, wchar_t, TCHAR, ACHAR, _T()转换
初学C/C++,char, wchar_t, TCHAR, ACHAR, _T()这几个类型的差异和联系曾经让我很是头疼,在此做一下简单的归纳总结,希望能给各位刚入门的菜菜们一点帮助。char :单字节变量类型,最多表示256个字符,在ANSI C中包括:26 lowercase letters, 26 uppercase letters, 10 digits, 32 symbol原创 2012-11-01 14:11:17 · 1174 阅读 · 0 评论 -
C++中_T和_L_
_T("")是一个宏,定义于tchar.h下。[1]? #define __T(x) L ## x #define _T(x) __T(x) 他的作用是让你的程序支持Unicode编码 因为Windows使用两种字符集ANSI和UNICODE, 前者就是通常使用的单字节方式, 但这种方式处理象中文这样的双字节字符不方便, 容易出原创 2012-11-28 14:46:42 · 685 阅读 · 0 评论 -
C++ static ,extern以及全局变量之间的相关逻辑
全局变量,就是指那些定义在函数之外的变量,当然也是定义与类之外的变量。(1)全局变量会被自动初始化,函数中的变量不会被自动初始化,类中定义的那些成员变量(内建)也不会自动初始化。那么这里有一个疑问,为什么要这样设置?并且为什么,进程内存区中,分为初始化了的全局变量和静态变量,和未初始化的全局和静态变量。(2)全局变量如果加上static关键字,事情将会变得很奇妙。我们知道,原创 2012-11-28 17:05:46 · 403 阅读 · 0 评论 -
AcdbTable 例子学习笔记
Table 例子学习笔记在这个例子中,ARX向我们展示了ACDBTABLE类的一些基本操作方法,ACDBTABLE类是ACAD2005及其以后的产品,应该是说ACDBDATATABLE的升级产品,AcDbDataCell,AcDbDataTable,AcDbDataColumn在ACAD2004中就已经出现。AcDbTable 功能很强大的。从最基本的,能设置表格的行、列数目,行、列高原创 2012-12-26 09:57:15 · 2345 阅读 · 0 评论 -
C中 static用法
C程序一直由下列部分组成: 1)正文段——CPU执行的机器指令部分;一个程序只有一个副本;只读,防止程序由于意外事故而修改自身指令; 2)初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放在这里。 3)非初始化数据段(bss段)——在程序中没有初始化的全局变量;内核将此段初始化为0。 4)栈——增长方向:自顶向下增长;自动变量以原创 2013-01-07 15:13:01 · 439 阅读 · 0 评论 -
Pugixml一种快速解析XML文件的开源解析库《转载》
Pugixml是一个轻量级的C++ XML开源解析库,DOM形式的解析器、接口和丰富的遍历和修改操作,快速的解析,此外支持XPath1.0实现数据查询,支持unicode编码; 使用Pugixml可通过直接在项目中包含其几个文件或者编译为动态库dll、静态库lib的形式供其他项目使用、比较方便,如果需要推荐编译为静态库或文件包含即可; Pugixml项目中提供了文档手册、快速使转载 2017-11-13 15:01:28 · 842 阅读 · 1 评论