![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
小佐编程
分享个人学习生活,解决日常项目工程问题,立志成为高级开发工程师。-2021.04.17
展开
-
VS2013文件编码是utf-8,程序运行的时候中文常量的编码为GBK问题的解决办法
很奇怪的一个问题,VS2013通过高级保存选项,将文件编码设置为UTF-8(如下图所示),但在项目中,把中文常量写入文件,发现该中文常量还是GBK编码。估计是在程序运行过程中,VS自动把中文常量保存在内存中,造成中文常量实际在程序运行过程中是以GBK编码的形式存在。解决办法:在cpp文件中加上以下代码,相当于告诉编译器,我这个文件的中文以utf-8编码格式来读取#pragma execution_character_set("utf-8")...原创 2021-07-22 16:01:23 · 1219 阅读 · 0 评论 -
关于VS中C++字符串常量的编码问题
无论文件是ANSI编码还是UTF-8有BOM格式编码(注意windows下不要使用utf-8无BOM格式编码,这种编码情况下的字符串常量转换有问题),字符串常量在内存中的编码都为ANSI编码,对应到windows平台就是GBK编码。 如果需要指定C++中的字符串常量编码格式为utf-8编码,可以使用C++11的u8特性,如:char tmp[128] = u8"中...原创 2020-05-07 15:17:20 · 1401 阅读 · 0 评论 -
C++获取13位的时间戳(Linux平台和windows平台)
Linux平台:static int64_t GetUnixTime(){ int64_t times = std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count(); return times;}w...原创 2020-04-27 14:03:57 · 2777 阅读 · 0 评论 -
DBXML
官网上提供多种版本可供下载,下面放上大招:Oracle Berkeley DB Downloads*.msi 是二进制编译好的文件,*.zip 和*.tar.gz 是windows 和linux压缩的未编译的源码文件dbxml-2.3.10版本下载传送门:https://download.csdn.net/download/qq_24038299/11172779分享另一关于dbx...原创 2019-05-11 17:01:31 · 289 阅读 · 0 评论 -
C/C++检测路径是否存在并创建
功能:根据传入的文件路径进行检测,对于不存在的路径进行创建,可兼容带有文件名和不带文件名的情况 如:D:/1/2/3/test.jpg和D:/1/2/3#include "stdafx.h"#include <string>#include "direct.h"#include <sys/stat.h> using namespace std;string&...原创 2018-03-29 09:29:57 · 5212 阅读 · 0 评论 -
C++获取指定路径下的所有文件(windows和Linux版)
递归获取文件夹中的所有文件的完整路径#include <io.h>#include <iostream>#include <vector>using namespace std;void getFiles(string path, vector<string>& files){ //文件句柄 long hFile =...原创 2018-03-20 16:54:19 · 5336 阅读 · 0 评论 -
实现一个类的成员函数作为回调函数
通过C++11的bind和function实现类的成员函数作为回调函数下面是一简单例子:#include "stdafx.h"#include <functional>using namespace std;using namespace std::placeholders;typedef function<bool()> OnPrintf;class A{...原创 2018-03-22 20:22:58 · 453 阅读 · 0 评论 -
MFC利用Halcon显示图片
工具说明:Halcon10,VS2013,利用Picture Control控件进行图片显示包含的头文件:#include "HalconCpp.h"using namespace Halcon;需要包含的库路径:halconcpp.libvoid CHalconWndShowDlg::OnBnClickedOpen(){ HTuple HWindowID; HTuple newHWindo...原创 2018-03-22 19:51:38 · 1943 阅读 · 0 评论 -
编程笔记记录
1、CRT:Visual C++ C RunTime Lib,C运行时库,C程序运行时需要这些库中的函数,没有该库,main()和exit()不会被调用;原创 2017-11-11 09:21:07 · 239 阅读 · 0 评论 -
CrashRpt学习内容
CrashRpt是轻量级的开源错误报告库,是VS的一个工程,使用的时候只需要包含dbhelp.dll、CrashRpt.dll、Crashsender.exe三个文件在工程路径下函数接口说明:http://crashrpt.sourceforge.net/docs/html/group___crash_rpt_a_p_i.htmltypedef int( * PFNCRASHCALLBAC原创 2017-11-12 09:54:55 · 2505 阅读 · 0 评论 -
windows下的多线程简单使用
CreateThread函数的原型:HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DW原创 2017-11-11 11:03:02 · 2908 阅读 · 0 评论 -
lambda表达式
lambda表达式的优点: * 声明式编程风格:就地匿名定义目标函数或函数对象,不需要额外填写一个命名函数或函数对象 * 简洁 * 在需要的时间和地点实现功能闭包,程序更加灵活表达式的基本概念以及基本用法 定义一个匿名函数,可以捕获一定范围内的变量,其语法可以表达如下: [capture] [params] opt->ret {body;}; 其原创 2016-11-10 15:40:43 · 389 阅读 · 0 评论