随笔分类 - c++
摘要:在使用利用CreateThread创建线程时 visual studio 报了如下错误: 英文环境 中文环境 问题解决办法参考文档,将 函数订单改为 原因在[ThreadProc callback function][1]有描述 Each thread receives a unique copy
阅读全文
摘要:以Unicode编码方式打开文件,并保存文本到文件
阅读全文
摘要:该模型使用事件句柄来完成SOCKET事件的通知
阅读全文
摘要:宏定义在实际使用中如果不稍加注意,如果表达式有副作用,就可能导致返回的结果跟预期不符。下面是几种常见的问题: 输入输出 因此宏的参数和返回值最好是用()扩起来 自增自减运算 返回值预期是4(a++)实际上是5,a进行了两次++运算。 所以一般使用宏最好不要传入自增自减。 实际使用参数和宏内部变量同名
阅读全文
摘要:在 Windows 下,可使用 "Visual C++ 的 C Runtime Library(CRT)" 检测内存泄漏。 首先,我们在.c或.cpp 文件首行插入这一段代码: main() 中插入如下的代码: Visual Studio的Output的输出如下: 我们可以加上 _CrtSetBre
阅读全文
摘要:介绍 有时候我们需要从excel表格里导入、导出数据。其中一种方式就是通过ADO的方式。在这里,excel文件被当作数据库来处理,该方式不需要客户端安装Microsoft Excel,速度也够快。 连接字符串 这里有两种类型的连接字符串,第一种是针对xls格式的: 第二种是针对xlsx格式的: TE
阅读全文
摘要:在C++11新标准中,派生类能够重用其直接基类的构造函数 cpp include using namespace std; struct Base { Base() { cout using namespace std; struct Base { Base() { cout using names
阅读全文
摘要:各个C++实现所选择采用的基础类型的大小统称为“数据模型”。有四种广泛采用的数据模型: 32 位系统: LP32 或 2/4/4(int 为 16-bit,long 和指针为 32 位) Win16 API ILP32 或 4/4/4(int,long 和指针都为 32 位) Win32 API U
阅读全文
摘要:内存越界写入导致的错误,一般在debug会报错,release版本中可能并不报错.
阅读全文
摘要:emplace_back能就地通过参数构造对象,不需要拷贝或者移动内存,相比push_back能更好地避免内存的拷贝与移动,使容器插入元素的性能得到进一步提升。在大多数情况下应该优先使用emplace_back来代替push_back。 vector push_back 源码实现: vector e
阅读全文
摘要:这里定义了一个模版函数,功能同STL里的 "copy" 函数: 编译时报了 错误。 从报错信息可以看出,编译器匹配到了 里的copy函数,因为我传的参数 是属于 的。 解决的办法一:指定命名空间 解决的办法二:函数名用括号包住 参考资料 1. "template programming: ambig
阅读全文
摘要:C++支持两种字符串,即常规的ANSI编码("字符串")和Unicode编码(L"字符串"),相应的就有两套字符串处理函数,比如:strlen和wcslen,分别用于处理两种字符串。 微软将这两套字符集及其操作进行了统一,通过条件编译(_UNICODE&_MBCS)来控制实际使用的字符集。 1. 当
阅读全文
摘要:检测策略 1. 如果2个字节是0xFF 0xFE,则以Unicode(LE)的方式读取 2. 如果2个字节是0xFE 0xFF,则以Unicode BE的方式读取 3. 如果前2个字节是0xEF 0xBB,那么判断第3个字节是不是0xBF,如果是的话就以UTF 8的方式进行读取。 4. 判断是否符合
阅读全文
摘要:Visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,可谓是微软的良心之作。
阅读全文
摘要:本方法可用于windows和linux双平台,采用C/C++标准库函数。 库函数 包含头文件 #include 用到数据结构_finddata_t,文件信息结构体的指针。 struct _finddata_t { unsigned attrib; //文件属性 time_t time_create;
阅读全文
摘要:OPENFILENAME结构包含了GetOpenFileName和GetSaveFileName函数用来初始化打开或另存为对话框的信息。其中lpstrFilter用来指定文件文件过滤器。 字符串由'\0'结尾的字符串对组成,最后的字符串要以两个'\0'结尾。 其中 和 是一对,用来过来txt后缀的文
阅读全文
摘要:“Debug” and “Release” are actually just two labels for a whole slew of settings that can affect your build and debugging. In “Debug” mode you ...
阅读全文