C/C++
追梦使者87
毕业于辽宁工程技术大学,与中国测绘科学研究院联合培养,毕业后直接就职硕士在读单位,拥有五年SAR/InSAR工作经验,并于2018年取得注册测绘师证书,拥有丰富的SAR/InSAR 时序InSAR算法开发经验,熟悉C++、C#、MATLAB等编程语言
展开
-
关于使用CryPtopp库进行RSA签名与验签的一些说明
这个变量与验签过程中的SignatureVerificationFilter::PUT_MESSAGE这个宏是对应的,SignatureVerificationFilter::PUT_MESSAGE,如果在签名过程中putMessage设置为true,则在验签过程中需要添加SignatureVerificationFilter::PUT_MESSAGE。项目中使用到了CryPtopp库进行RSA签名与验签,但是在使用过程中反复提示无效的数字签名。否则就会出现文章开头出现的数字签名无效。原创 2024-01-15 12:02:52 · 464 阅读 · 0 评论 -
Windows API关于文件路径的处理函数
C/C++ Windows API一些与路径相关的函数使用说明转载 2022-04-18 09:47:08 · 727 阅读 · 0 评论 -
MFC在退出主程序时关闭外部应用程序
最近在使用MFC调用外部exe应用程序,想在退出主程序的同时将外部应用程序关闭。于是在网上找到了这篇文章进行参考http://blog.sina.com.cn/s/blog_673ccb5b0101acp1.html,具体代码如下:void CloseProgram(CString strProgram){ HANDLE handle; //定义CreateToolhelp32Snaps...原创 2018-05-02 11:02:14 · 1433 阅读 · 0 评论 -
创建MFC动态链接库注意事项
1、按照正常的流程建立MFC动态链接库工程,将已经编译调试好的CPP文件与头文件加载到该工程中,需要注意此处很关键,新添加的每个类,在类名前添加以下宏使每个类的函数可以到处到动态链接库中AFX_EXT_CLASS即class AFX_EXT_CLASS CBasicFunc{}如果不添加该宏该类中的函数无法导出到动态库中。而对于动态库中需要添加的全局变量则需要添加以下宏AFX_EXT_DATA...原创 2018-01-05 17:20:33 · 354 阅读 · 0 评论 -
关于GDI+使用的心得
最近项目开发使用到GDI+来创建JPG文件,使用过程中出现了很多问题,使用LockBits函数始终无法得到Bitmap的数据,在网上反复查找最终终于查到原因所在,在使用GDI+的时候首先必须对GDI+的环境进行初始化,即在调用GDI+代码之前,添加以下几行代码VC使用GDI+初始化准备工作。//初始化gdiplus的环境 GdiplusStartupInput gdiplusStart原创 2018-01-02 15:12:49 · 387 阅读 · 0 评论 -
关于scanf、sscanf和sscanf_s
下面总结了sscanf的以及sscanf_s的常用方法,也体现了“_s”版本函数与原函数的特别之处: 1、sscanf和scanf的不同是输入来源,前者是一个字符串,后者则是标准输入设备 2、sscanf的使用,以解析时间字符串为例,将字符串“2009-01-02_11:12:13”解析为整型年月日时分秒 //定义 char cc; tm t转载 2015-12-04 10:55:41 · 1243 阅读 · 0 评论 -
c++中的string分割
void StringSplit(string s,char splitchar,vector& vec){if(vec.size()>0)//保证vec是空的 vec.clear();int length = s.length();int start=0;for(int i=0;i<length;i++){ if(s[i] == splitchar && i == 0)/转载 2015-07-15 18:03:18 · 601 阅读 · 0 评论 -
C++中以固定分隔符分割CString字符串
CString * SplitString(CString str, char split, int& iSubStrs){ int iPos = 0; //分割符位置 int iNums = 0; //分割符的总数 CString strTemp = str; CString strRight; //先计算子字符串的数量 while (iPos转载 2015-07-15 18:04:51 · 15580 阅读 · 1 评论 -
C++中读写文件过程中异常处理机制
在利用C++进行文件读取与写入过程中,无论是针对二进制文件还是文本文件均需要进行异常处理,在C++中我们可以利用CFile进行文件的读写,而在MFC中还可以利用CStdioFile进行文件的读写。 利用CFile进行读文本文件过程中的异常处理可以通过如下代码实现 CString m_strFileName = "test.txt"; CFile m_File;原创 2015-05-08 15:59:27 · 6295 阅读 · 0 评论 -
不同类型数组之间的数据拷贝
工作中,需要将一个float类型的数组整体copy到一个double类型的数组中。很显然,memcpy是不行的,因为float和double占用的字节数不一样。本来打算用for循环一个一个元素赋值,但这方法肯定特慢,效率差。不死心,查一查,原来std::copy能够搞定这个问题。举例说明: double a[] = {1.618, 3.1416, 2.7转载 2014-11-26 16:34:25 · 2584 阅读 · 3 评论 -
MFC中CEdit控件实现多行,并且可在界面进行修改
首先给定CEdit控件一个ID,并且fen原创 2014-10-13 21:13:08 · 2460 阅读 · 0 评论 -
STL中的vector容器的一点总结
1.vector的简单介绍vector作为STL提供的标准容器之一,是经常要使用的,有很重要的地位,并且使用起来也是灰常方便。vector又被称为向量,vector可以形象的描述为长度可以动态改变的数组,功能和数组较为相似。实际上更专业的描述为:vector是一个多功能的,能够操作多种数据结构和算法的模板类和函数库,vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对转载 2014-09-12 11:32:51 · 378 阅读 · 0 评论