C++
文章平均质量分 63
痕忆丶
i wanna do that,that's all
展开
-
C++ 在变量前面加上(void)的作用
如果项目里是打开了-Werror选项,会将warning视为error,这样的话无法通过编译。在阅读源码的时候遇到了很多在函数参数加上(void)的操作。声明/定义了但没使用的变量,在编译时会生成warning。所以需要用这种方法绕过无关紧要的warning。原创 2024-09-05 15:15:40 · 190 阅读 · 0 评论 -
Fatal error: cstring: No such file or directory
5.cstring代表的是string.h,但是被封装到了std里面,譬如调用strlen函数,需要写成std::strlen(yourstr)才行,这个使用方法比较符合C++的标准要求string就是C++标准库里面的string模板(确切地说应该是一个特化的模板),但是他同样包含了C风格字符串操作函数的定义(应该是通过包含string.h实现的)string.h就不需要使用名字空间了,这个是C风格字符串操作的一个函数库,strlen,strcpy,strcat,strcmp……原创 2024-08-09 10:26:31 · 359 阅读 · 0 评论 -
C/C++ 简单的输入输出测试用例
虽然上述步骤极其容易但是总归是需要时间去拉一个demo,下面给出demo 用例,便于大家修改测试。在实际开发中经常会遇到简单调试接口的场景,需要从键盘输入一个字符,响应相应操作,整体逻辑就是。3.再次等待获取键盘输入。原创 2024-06-21 16:48:44 · 235 阅读 · 0 评论 -
函数指针一站式理解(C++ primer plus),包括指针数组,数组指针,胆小慎入
函数指针一站式范例(C++ primer plus)原创 2022-07-20 10:31:09 · 242 阅读 · 0 评论 -
指针数组跟数组指针的简单范例
指针数组跟数组指针的简单范例原创 2022-07-18 11:12:39 · 160 阅读 · 0 评论 -
VSCODE + MinGW(cmake) 配置C++编译调试环境,创建demo,静态库,动态库(以及附带常用makelist设置) 傻瓜一站式教程 解决中文乱码问题
vscode C++编译调试教程原创 2022-07-11 02:52:02 · 9391 阅读 · 6 评论 -
问题帖: 关于vscode 调试C++程序 在不同工作区的结果疑问???
vscode关于工作区问题导致调试失败的原因,求解答原创 2022-07-08 00:11:49 · 522 阅读 · 0 评论 -
vscode + mingw + cmake C++配置管理项目
cmake关于CMakelists.txt的一些语法设置原创 2022-06-28 18:59:39 · 625 阅读 · 0 评论 -
windows下 C++ openCV配置及x86编译(傻瓜式教程)
vs2019/2017配置使用opencv,及vs2017编译opencv x86版本原创 2022-04-14 17:03:54 · 7568 阅读 · 10 评论 -
VS-QT 发布
VS-QT发布用vs-qt做出应用程序后可以打包出来发布给别人使用,因为qt使用的都是运行时库,所以需要将运行时库跟应用程序一起打包有别于使用QT creater创建的应用程序,vs-qt创建的程序不仅需要解决qt本身的运行时环境,还需解决vs的运行时环境本文提供 vs2019 + qt 5.13版本的发布教程首先看编译的QT工程的配置 本示例 采用win32 版本,编译器选的msvc2017 32位版本注意:这两个版本及其重要,涉及到能否成功打包发布环境步骤一:..原创 2021-05-02 17:47:50 · 818 阅读 · 3 评论 -
关于 openssl 1.1.1.x版本编译踩坑萌新指南
由于项目中经常用到第三方库,但是一直不具备交叉编译的能力,因此选用项目中的链接库 openssl为实验基础,通过编译openssl库熟悉交叉编译的技术本文将展示编译过程中的种种坑,便于萌新避坑,当然,openssl 1.0.X 版本编译方式本1.1.1.x编译方式不同目录Win10 编译openssl 1.1.1系列新版本踩坑指南 1、 在c盘创建openssl_build目录 2、 下载openssl 3、 下载ActivePerl 4、 下载nasm ...原创 2021-04-20 15:32:26 · 3492 阅读 · 0 评论 -
windows服务入门详解
关于windows服务请看该博文:https://blog.csdn.net/qq_37059136/article/details/114069779看了上面链接的文章,肯定对本地服务有了清醒的认识,本文就关于如何写一个本地服务并启动关闭进行示例首先了解本地服务也是一个可执行程序,上面有说程序入口地址一般是main函数,就用最简单的win32控制台程序来写一个服务程序创建win32控制台程序项目名字叫http_test219(这个名字默认是你项目编译后可执行文件的名字)创建cpp文原创 2021-02-25 16:29:16 · 1061 阅读 · 0 评论 -
Windows服务程序
本篇转载用于备份学习,如有侵权私聊删除(原文写的太好了,害怕以后找不到原文)有那么一类应用程序,是能够为各种用户(包括本地用户和远程用户)所用的,拥有用户授权级进行管理的能力,并且不论用户是否物理的与正在运行该应用程序的计算机相连都能正常执行,这就是所谓的服务了。(一)服务的基础知识Question 1. 什么是服务?它的特征是什么? 在NT/2000中,服务是一类受到操作系统优待的程序。一个服务首先是一个Win32可执行程序,如果要写一个功能完备且强大的服务,需要熟悉动态连接库(Dlls.转载 2021-02-25 11:33:34 · 810 阅读 · 0 评论 -
(转)线程同步的四种方式
转载地址:http://blog.csdn.net/ebowtang/article/details/29905309一,什么是线程同步和互斥同步就是协同步调,按预定的先后次序进行运行。如:你说完,我再说。这里的同步千万不要理解成那个同时进行,应是指协同、协助、互相配合。线程同步是指多线程通过特定的设置(如互斥量,事件对象,临界区)来控制线程之间的执行顺序(即所谓的同步)也可以说是...转载 2019-03-21 17:08:01 · 294 阅读 · 0 评论 -
多字符集与宽字符集的互相转换
闲懒的可以直接下载我做的公共类 https://download.csdn.net/download/qq_37059136/11004128这里要使用的主要是MultiByteToWideChar和WideCharToMultiByte头文件定义一个类class CCBW{public: //多字节转宽字节 int CharToWideChar(char * cI...原创 2019-03-07 13:36:25 · 541 阅读 · 0 评论 -
关于EXE中导出函数接口问题
前言exe中导出函数接口原本我是不知道的,但是实际开发过程中需要使用到接口,这时一个老员工就跟我们讲可以在exe中导出函数接口,因为exe跟dll都是pe文件,于是我进行了尝试,但是也发现问题实现在头文件中申明要导出的函数接口extern "C" int __declspec(dllexport) _cdecl Exporter(char * cInput,char *cOutp...原创 2019-01-23 09:49:01 · 2034 阅读 · 0 评论 -
大话设计模式(附带代码)
链接:https://pan.baidu.com/s/1SLM3ozXz9JaFWQWHcoKNvg 提取码:qh5a 注:本书使用.NET C#语言编写,但C++及JAVA开发人员阅读无难度,有附带代码可供理解该链接包含大话设计模式pdf文档跟书中响应章节对应代码...原创 2019-01-17 09:02:02 · 3660 阅读 · 2 评论 -
c中回调函数的实现及理解
前言回调函数常见于某些开源库的应用中,比如我已试用过的sqlite3开源数据库int sqlite3_exec(sqlite3* pDB, const char *sql, sqlite_callback callback, void*para, char** errMsg),libcurl开源库curl_easy_setopt(m_curl,CURLOPT_PROGRESSFUNCTIO...原创 2019-01-15 10:52:02 · 636 阅读 · 0 评论 -
设计模式:简单工厂模式
前言:设计模式有无数讲解,但是设计模式却并不是一个独立的知识点,设计模式涉及的几个原则应该成为下意识规范只有将设计模式放到特定的例子中才能体现模式的便捷及功能背景:下面我来模拟下简单工厂的需求背景:对称加解密算法使用同一个密钥进行加密和解密操作,目前使用较普遍的有AES、3DES、DES、SM1(国密)等。本次仅需实现AES和3DES算法即可,但代码设计中需考虑后续对对称加...原创 2019-01-14 16:43:22 · 182 阅读 · 0 评论 -
STL的算法
函数库对数据类型的选择对其可重用性起着至关重要的作用。举例来说,一个求方根的函数,在使用浮点数作为其参数类型的情况下的可重用性肯定比使用整型作为它的参数类性要高。而C++通过模板的机制允许推迟对某些类型的选择,直到真正想使用模板或者说对模板进行特化的时候,STL就利用了这一点提供了相当多的有用算法。它是在一个有效的框架中完成这些算法的——你可以将所有的类型划分为少数的几类,然后就可以在模版的参数中...翻译 2018-06-15 16:45:19 · 126 阅读 · 0 评论 -
windows32 api文件操作
本文有大量链接引用.如触犯了您的利益请下方留言前言熟悉的文件打开操作有open、fopen、createfile、CFile类他们的关系(论坛上出现过的问题):CFile 或者 C++的fstrem或者C lib fopen,终究都会调用Win32 APICreateFileCreateFile是操作系统提...原创 2018-07-06 13:53:23 · 8170 阅读 · 0 评论 -
Windows-API函数大全(API之进程和线程函数)
API之进程和线程函数CancelWaitableTimer 这个函数用于取消一个可以等待下去的计时器操作 CallNamedPipe 这个函数由一个希望通过管道通信的一个客户进程调用 ConnectNamedPipe 指示一台服务器等待下去,直至客户机同一个命名管道连接 CreateEvent 创建一个事件对象 CreateMailslot 创建一个邮路。返回的句柄由邮路服务器使用(...原创 2018-07-19 16:07:13 · 1612 阅读 · 0 评论 -
Base64编码原理与实现
注:这篇博客讲解得比较详细,个人认为比较好,转载过来留下次查看.如果侵犯了作者利益,请留言删除Base64编码说明 Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用'=',因此编码后输出的文本末尾可能会出现1或2个'='。 为了保证所输出的编...转载 2018-07-30 14:16:33 · 194 阅读 · 0 评论 -
关于MD5消息摘要算法加密校验及相关问题
MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。目前接触到MD5主要是涉及到网络数据传输的安全性(检测数据是否被篡...原创 2018-08-16 09:08:00 · 718 阅读 · 0 评论 -
关于AES解密与加密
由于在项目中涉及网络传输,要考虑到传输数据的安全性,因此需要对传送的数据进行加密处理,经查阅一定的资料,得出如下结论:传输信息量较少的数据用RSA(非对称加密的一种);传输信息量较大的数据使用AES(对称加密的一种) 下面我给出一个讲解AES加密很好的帖子讲解AES很详细我读了他的博客,发现他讲解得很好,那我这里就不做赘述,我总结了他的帖子,将AES做成压缩包这是下载路径,当然...原创 2018-08-16 16:41:38 · 539 阅读 · 0 评论 -
代码连接内网共享磁盘WNetCancelConnection();WNetAddConnection2()
前言如果你能看到本篇博客说明你应该是对网络磁盘映射有所了解的,如果你不了解网络磁盘映射而是通过PathFileExists();WNetCancelConnection();WNetAddConnection2()这三个函数找到本博客的,可以点击链接了解下网络磁盘映射https://baike.baidu.com/item/%E6%98%A0%E5%B0%84%E7%BD%91%E7%BB...原创 2018-09-14 10:35:30 · 7850 阅读 · 2 评论 -
C代码实现从FTP上下载文件
从FTP上下载文件这个功能我早就想实现了,但是苦于百度的文章大多是下载链接,一直没舍得积分下载,这次通过查阅MSDN,将一套下载流程函数摸了一下,写出代码实现从FTP下载文件环境 VS2015代码:#include <iostream>#include <windows.h>#include <process.h>#include <w...原创 2018-09-21 17:13:21 · 7609 阅读 · 4 评论 -
C++复制文件
这里我将复制文件操作封装成一个接口,具体函数可以去查阅MSDN,相信你看过我这篇博客后,基本上关于文件的删除,拷贝,移动,改名都能顺利完成,因为他们用的是同一个函数:)我这个接口不需要传具体的文件名字,只需传存放该文件的目录即可,当然你也可以通过该博客改写接口先定义两个返回值类型#define TRUE 0#define FALSE 1 int CopyORBackUpFi...原创 2018-10-31 11:30:13 · 2061 阅读 · 0 评论 -
C++解压zip压缩文件
前言最近做项目需要用到网络下载压缩文件并解压至指定文件夹,本意是使用zlib库,但是花费许久时间仍没有编译通过官网的文件,于是放弃,转而寻求其他方法,在之前的博客中有说道用system调用shell命令的方式使用winrar解压,但是这种方法有一个弊端就是要求客户端必须安装winrar,虽然winrar是每个电脑都必备的一款软件但是不排除有客户端没有安装的情况,因此本人花费半天时间找到了替代方...原创 2018-10-29 18:38:23 · 13758 阅读 · 3 评论 -
PathRemoveFileSpec
该函数使用需加头文件#include <Shlwapi.h>且引用shlwapi.lib库功能/清除路径后面的文件名和'/',该函数可以分析出一个文件路径配合GetModuleFileName(NULL,szFilePath,MAX_PATH);函数使用可以获取当前程序的目录,以便对后续文件操作提供路径SyntaxBOOL PathRemoveFileSpec(...原创 2018-10-29 18:44:28 · 970 阅读 · 0 评论 -
C++解压zip压缩包(2)
由于上一篇博客写的比较急,没有给出直接运行的代码跟演示,这里我重新写了一个项目上一篇博客C++解压压缩文件上一篇博客中有ziputils官网的链接更下载地址,使用方法还是一样,向项目中添加文件#include <Windows.h> //添加Windows.h不然会一堆错误#include <string> //C+...原创 2018-10-30 09:41:08 · 7011 阅读 · 13 评论 -
cJSON创建json并万能解析(解析方法通用)
前言连带上次使用cJSON,这是我第二次使用了,由于JSON报文的多样性和不确定性决定了不可能使用查找键去获取对应值得方法(虽然很简单有效),这里我做了些判断,可以解析全未知的json报文(未完善)代码#include "cJSON.h"#include <iostream>#include <string>using namespace std;...原创 2018-11-05 18:49:26 · 2264 阅读 · 1 评论 -
标准c++中string类函数实例
#include <Windows.h>#include <iostream>#include <string>#include <sstream>using namespace std;int main(){#if 0 /*********************************************/ //str...原创 2018-11-20 17:57:50 · 299 阅读 · 0 评论 -
MFC中CString与string的区别以及相互转换关系
原贴地址:https://blog.csdn.net/ljsant/article/details/53167621区别:CString 类是微软的visual c++提供的MFC里面的一个类,所以只有支持MFC的工程才可以使用。如在linux上的工程就不能用CString了,只能用标准C++中的 string类了。另外,因为string类是在c++标准库中,所以它被封装在了std命名空间中,使用...转载 2018-06-15 15:14:16 · 793 阅读 · 0 评论