c++
文章平均质量分 70
sumos
喜欢思考热爱创新学过VB/C/C/MFC/Java/C/WTL学习为乐追求卓越
展开
-
tinyxml的学习和简单使用
虽然看起来简单,但开始学习和使用却是不那么简单。首先从 官网 下载源文件:4个cpp和2个h,然后加入到工程即可。在你的代码中加上2句:#include "tinyxml.h"#include "tinystr.h"(刚开始只加了tinyxml.h,以为这个头文件包含了tinystr.h,结果编译一大堆问题,其实tinystr.h不一定会包含,它是通过一个宏定义控制的)(这原创 2012-11-07 16:39:23 · 1606 阅读 · 0 评论 -
一个简单的在本地传输文件的网络程序
经常在CSDN贴吧看见很多关于网络之间传输的例子(比如传输截屏文件),所以很想写一个作为学习。此程序设定很简单,就是在本地传输。当然,要扩展到网络也很简单,改个ip就ok了。基本思路:双方遵循一个包头格式,根据包头确定之后的操作。服务器代码:#include #include #define PORT 6666struct PacketHeader{原创 2012-11-16 13:48:02 · 3023 阅读 · 6 评论 -
Json学习札记
Json和Xml相比有个最大的优势,基于字符串。xml必须与文件相关,而json只是字符串(当然也提供了与文件相关的操作)。Let's say it from my code:#include //解压后找到目录 vs71,用vs打开然后生成解决方案,本程序直接在jsontest.cpp中改写的#include #include #include using names原创 2013-01-23 15:15:22 · 1789 阅读 · 0 评论 -
WTL/MFC多字节和Unicode字符转换
我们在最开始学习MFC的时候,毫无疑问会遇到这样的问题。VC6的设置:多字节。vs的默认设置:Unicode,在属性中可以改成多字节。多字节编码:char,string,CStringA。Unicode编码:wchar_t,wstring,CStringW。注意:如果项目是Unicode,那么CString就被定义为CStringW,否则就是CStringA。附:LPS原创 2013-03-14 14:30:30 · 2458 阅读 · 1 评论 -
我是那么的喜欢你 try catch
以前在学Java的时候,最讨厌的就是那些try和catch了,不仅把代码拉长了,而且异常处理很不好。 现在在做C++方面的事情,虽然大家一致认为,C++中坚决禁止try和catch,但是我却越发的喜欢用他了。 为什么讨厌又为什么喜欢呢? 讨厌的是,我不喜欢sdk给我定义好的Exception,喜欢的是我自己throw的exception。 下面用一个C++的原创 2013-04-12 10:59:15 · 1572 阅读 · 0 评论 -
C++模板的魅力和魔力
本文要解决的问题很好描述,但要想取个对应的标题还真不容易。任务描述:假设我有一个逻辑线程,这个线程专门用来处理 各种类成员函数的调用。要求:类类型不限,类成员函数参数类型可以任意。首先为这些成员函数定义一个基类class Task{public:virtual void Run() = 0;};其次,抽象出各类的成员函数参数类型,下面以一个参数为例templ原创 2013-06-05 10:28:15 · 1282 阅读 · 1 评论 -
std::shared_ptr的巧妙应用
std::shared_ptr一次创建,多处共享,通过引用计数控制生命周期。问题:假设有一项任务Task,其分为N个小模块,每个小模块都是并发执行。现在要求,任务开始,每个小模块并发执行,在全部小模块执行完后,将所有小模块结果进行下一步处理,任务结束。方案一:任务开始,先创建一个成员变量std::set n_span;(这里Span代表一个小模块,异步执行模块的功能);原创 2016-06-06 11:34:20 · 1622 阅读 · 0 评论 -
win32拖拽编程
准备 封装win32 API。我们使用到的API有, ImageList_Create、ImageList_Destroy、 ImageList_Add、ImageList_AddMasked、ImageList_Remove、 ImageList_BeginDrag、ImageList_DragEnter、ImageList_EndDrag、ImageList_DragLeave原创 2016-07-14 17:19:25 · 1863 阅读 · 0 评论