C++
开源学开源
这个作者很懒,什么都没留下…
展开
-
C语言实现MATLAB中的fir1函数(绝对一摸一样的系数矩阵)
#include<iostream>#include<vector>#include<iomanip>#define _USE_MATH_DEFINES#include<math.h>#include<cmath>//#include<NumCpp.hpp>#define pi M_PIusing std::vector;void create_hidea(int n, double fc, vector<d原创 2021-10-29 12:41:57 · 1280 阅读 · 1 评论 -
QT之删除指定目录下指定尾缀文件
使用QT删除指定目录下指定尾缀的文件/*delete the files endswith ref dir_name: the dir to remove filesref: the Suffix of files need to be removed*/void remove_files(QString& dir_name,QString& ref){ if(dirname.isEmpty() || ref.isEmpty()) return; QDir dir(原创 2021-09-29 16:15:14 · 1237 阅读 · 0 评论 -
c/c++ trim
利用 std::erase and std::find_if 实现 字符串 trim 的功能;find_if 找出第一个不是空的迭代器指针,erase 删除从start 到 第一个不为空的迭代器位置原创 2021-09-27 09:04:08 · 1221 阅读 · 0 评论 -
变长参数按照格式拼接string (vsnprintf\vasprintf)
1.字符串拼接std::string stringf(const char *fmt, ...){ std::string string; va_list ap; va_start(ap, fmt); string = vstringf(fmt, ap); va_end(ap); return string;}std::string vstringf(const char *fmt, va_list ap){ std::string string; char *str = N原创 2021-08-12 14:08:22 · 703 阅读 · 0 评论 -
C++获取文件大小方式(MFC,linux,C++,C)
四种C++获取指定文件的大小#include < iostream> #include < io.h> #include < sys\stat.h> #include < afx.h> #define _AFXDLL using namespace std;void main(){ // 此文件在工程打开状态下为不可访问 c...转载 2020-05-06 14:27:26 · 103246 阅读 · 1 评论 -
++运算符小测试
编译器VC++ int j = 0; int a[3]{ 1,2,3 }; int dj = a[j++] + a[j++]; cout << dj << endl; //////**输出为2** 也就是**值都取的a[0]** int j = 0; int a[3]{ 1,2,3 }; int dj = a[j++] + a[++j]; cout &...原创 2020-04-23 17:38:51 · 102348 阅读 · 0 评论 -
C/fenv.h
类介绍:此头声明了一组函数和宏,用于访问浮点环境以及特定类型。浮点环境维护一系列状态标志和特定控制模式。 具体关于浮点环境的内容取决于实现,但状态标志通常包括浮点异常及其相关信息,并且控制模式至少包括舍入方向。1.feclearexcept 函数int feclearexcept (int excepts);函数介绍:尝试清除excepts(异常)指定的浮点异常。注意:调用此函...翻译 2018-08-25 12:01:52 · 1041 阅读 · 0 评论 -
C/ctype.h
字符处理函数1. isalnum 函数int isalnum ( int c );函数功能介绍:检查 c 是十进制数字还是大 、小 写字母。c 是字母活着数字则返回 true;注意,被认为是字母的内容可能取决于所使用的语言环境;在默认的“C”语言环境中,组成字母的是大写或小写返回 true 的值。返回值:true返回非零值,false返回零。/* isalnum examp...翻译 2018-08-24 15:00:35 · 551 阅读 · 0 评论 -
VTK7.x在VS2013、VS2015下编译安装
工欲善其事必先利其器首先我们需要准备好需要的文件,需要文件如下:(1)cmake ,下载链接cmake下载。至于cmake是啥,我就不介绍了,那么厚一本书,想说也说不清。在官网上可以看见cmake可以分为两种形式,看后缀名,.msi与.zip,也许你会产生疑问“有什么区别”,在我个人看来zip比较方便,后缀为msi的比较不容易出错。 (2)VTK文件,分为source文件与data文件...原创 2018-07-26 11:28:20 · 2082 阅读 · 29 评论 -
opencv矩阵操作
add矩阵加法,A+B的更高级形式,支持maskscaleAdd矩阵加法,一个带有缩放因子dst(I) = scale * src1(I) + src2(I)addWeighted矩阵加法,两个带有缩放因子dst(I) = saturate(src1(I) * alpha + src2(I) * beta + gamma)subtract矩阵减法,A-B的更高...翻译 2018-07-17 15:34:48 · 296 阅读 · 0 评论 -
VC++——CString
(1)CString介绍首先,CString没有基类。一个CString对象由一个可变长度的字符序列组成。CString使用类似于Basic的语法提供函数和操作符。连接和比较运算符以及简化的内存管理使CString对象比普通字符数组更容易使用。CString基于TCHAR数据类型。如果符号_UNICODE是为您的程序定义的,则TCHAR被定义为类型wchar_t,一个16位字符类型; 否则,它被定...翻译 2018-06-10 11:44:12 · 2409 阅读 · 3 评论 -
算法入门6:回溯法
一. 回溯法 – 深度优先搜素 1. 简单概述 回溯法思路的简单描述是:把问题的解空间转化成了图或者树的结构表示,然后使用深度优先搜索策略进行遍历,遍历的过程中记录和寻找所有可行解或者最优解。基本思想类同于:图的深度优先搜索 二叉树的后序遍历 【 分支限界法:广度优先搜索 ...转载 2018-09-11 20:14:53 · 262 阅读 · 0 评论 -
C++:线程(std::thread)
1.创建一个线程 创建线程比较简单,使用std的thread实例化一个线程对象就创建完成了,示例:#include <iostream>#include <thread>using namespace std;void t1() //普通的函数,用来执行线程{ for (int i = 0; i < 20; ++i) { ...转载 2018-09-12 21:44:39 · 293 阅读 · 0 评论 -
指针常量、常量指针与指向常量的指针常量小结(C/C++)
一 指针常量:int a;int *const pcb = &a; //const放在指针声明操作符的右侧只要const位于指针声明操作符右侧,就表明声明的对象是一个常量,且它的内容是一个指针,也就是一个地址。上面的声明可以这么读,声明了一个常量pcb,它的值是变量a的地址(变量a的地址,也就是指向变量a的指针)。因为指针常量是一个常量,在声明的时候一定要给它赋初始值。一旦...原创 2018-10-22 15:06:04 · 103159 阅读 · 1 评论 -
C++之类小结
面对对象:面对将系统看成通过交互作用来完成特定功能的对象的集合。每个对象用自己的方法来管理数据。也就是说对象内部的代码能够操作对象内部的数据。类的特性:抽象、封装、继承、多态。(1)抽象性:表示同一类事物的本质;类是对象的抽象,对象是类的特例,即对象是类的具体表现形式。(2)封装性:就是将某些东西包装盒隐藏起来,让外界无法直接使用,只能通过某些特定的方式才能访问。其目的是增强安全性和简化编程...原创 2019-02-28 21:59:42 · 102391 阅读 · 0 评论 -
进程间的五种通信方式介绍
转 进程间的五种通信方式介绍 进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。以Linu...转载 2019-02-26 15:10:02 · 102483 阅读 · 0 评论 -
算法学习之路——字符串
1.内容简介(1)字符串常见问题;(2)问题的解法及思维;(3)涉及的知识点。2.问题:(1)请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。代码:/*功能说明:实现字符串中' ' 替换位 "%20"参数说明:char *str; 目标字符串的首地址;int le...原创 2019-03-10 22:27:03 · 102354 阅读 · 0 评论 -
GetLogicalDriveStrings获取盘符(包含字符转换)
GetLogicalDriveStrings获取盘符例程://函数功能:获取驱动器 参数:路径名 void CPicTestDlg::GetLogicalDrives(HTREEITEM hParent){ //获取系统分区驱动器字符串信息 size_t szAllDriveStrings = GetLogicalDriveStrings(0, NULL); //驱动器...原创 2018-06-16 14:01:27 · 6150 阅读 · 0 评论 -
C标准库——string.h
介绍:包含string.h里面所有函数的解释;字符串比较,复制、连接、查找、分解。1.复制相关函数:(1)memcpy函数void * memcpy ( void * destination, const void * source, size_t num );介绍:从 source指针地址(源指针)复制 num 个字节到 destination指针地址(目标指针)。源指针和目标指针指向的对象的底...原创 2018-06-01 20:46:07 · 7791 阅读 · 1 评论 -
C/C++数据类型转换小结
在编程的过程中,经常遇到变量类型转换问题,在此小结一下:以下程序的头文件#include<iostream>#include<string>#include<sstream> using namespace std;(1)char* char[] 到string的转换://char* to stringint CP1(){ ch...原创 2017-11-08 12:16:27 · 49871 阅读 · 0 评论 -
C++友元学习笔记
友元可以分为三种:1.友元函数;2.友元类;3.友元成员函数;友元的好处,通过友元函数,可以赋予函数与类成员函数相同的访问权限,友元函数是可以访问类私有成员的非类成员函数。因为友元函数不是类的成员函数,所以不能用类对象调用成员函数的方式(类成员符)调用友元函数。友元函数的创建templateclass matrix{ friend ostream& operato原创 2017-10-31 17:24:07 · 71953 阅读 · 3 评论 -
目录下文件遍历及txt内容获取学习笔记
X86,X64 目录下文件遍历,获取目录下的文件名;以及介绍了一下文件查找相关的函数,例如struct _finddata_t结构体,_findfirst函数,_findnext函数,_findclose函数的准确用法。原创 2017-11-09 17:44:34 · 20565 阅读 · 0 评论 -
指针与引用的学习
昨天晚上在论团上看见一个人疑惑两个程序的差别!程序如下void swap(int *p1,int *p2){int t;t=*p1;*p1=*p2;*p2=t;}void swap(int &p1,int &p2){int t;t=p1;p1=p2;p2=t;}很明显这不就是指针传参与引用传参的差别么!于是我就回复了这类似的话,然而我觉得我有必要加深一下指针与引用的差别原创 2017-11-04 09:53:58 · 29480 阅读 · 1 评论 -
汉诺塔递归实现与栈实现
汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。数据结构书上的代码如下:#include#include#includeusing name原创 2017-11-14 17:18:45 · 16254 阅读 · 0 评论 -
http文件下载c/c++ 多种方法
1:使用winhttp下载#include <afx.h>#include <afxinet.h>#define RECVPACK_SIZE 2048bool DownloadSaveFiles(char* url,char *strSaveFile) {//下载文件并保存为新文件名 bool ret=false; CInternetSession S...原创 2018-03-06 19:30:35 · 15116 阅读 · 0 评论 -
C/C++ 文字到语音
VS2015下实现把txt文档里面的内容用语音读出;涉及:1:读取txt文档内容;2:用语音读出CODE:#define _ATL_APARTMENT_THREADED//#include <afx.h>//extern CComModule _Module;#include <stdio.h>#include <atlbase.h>#include ...原创 2018-03-10 10:08:17 · 5056 阅读 · 1 评论 -
C/C++标准库
根据内容可以把C++标准库分为10类:1:语言支持2:输入/输出3:诊断功能4:通用工具5:字符串6:容器7:迭代器8:算法9:数值操作10:本地化C++标准库的组成:所有的头文件都没有扩展名(.h),总共有51个标准头文件。其中包含18个<cname>形式的头文件(不包含<complex>)内容与标准C语言的name.h头文件相同。但是包含了C++扩展的功能。在<c...原创 2018-03-16 19:19:22 · 390 阅读 · 0 评论 -
C++语音识别
visual c++ 创建Win32工程调用windows API 做语音识别。查找了很多资料,但是很少用Win32的,国外倒是有很多人用C#调用Windows API 做语音识别。很多结合语音识别与word结合,把识别的语音写在word文档上,由于我不是C#喜好者,所以没有查找实现那些的source code。代码如下:// SpeechToTextTest2.cpp : Define...原创 2018-03-10 17:32:04 · 10840 阅读 · 77 评论 -
curl配置下载、安装、使用\文件下载
curl下载:https://curl.haxx.se/download.html我下载的是curl-7.58.0.tar.gz。举例下载路径为C://download,然后解压到当前文件夹,会得到文件夹curl-7.58.0。接下来就是编译了。Windows下编译如下:X86版本编译操作如下:1:windows图标+r同时按下,输入cmd(打开cmd控制台)2:cd C:\Program F...原创 2018-03-11 10:41:34 · 3959 阅读 · 2 评论 -
观多项式求和有感
对于多项式求和,最初是在学习C语言的时候看书的!当时没有什么体会,可能是因为当时的道行太浅根本看不出什么花样出来,也许是因为刚开始接触C,没有什么多余的心思去具体想想程序,也许是因为没有深入学习的想法!反正种种原因,当初只是根据要求实现了这个程序,就没有管了.而今重新看多项式,让我感想颇多,也解了我多时的困惑,一直不知道怎么进行的算法突然有了思路。在此,贴出其实现方法#include<ios...原创 2017-10-13 22:06:40 · 33290 阅读 · 1 评论 -
C++矩阵操作+,-,*,=,矩阵转置
模板类实现矩阵操作+,-,*,=,矩阵转置//此次添加了转置的模块#include<iostream>using namespace std;template<class T>class matrix{ friend ostream& operator<<(ostream&, const matrix<T>&); ...原创 2017-10-31 16:18:07 · 37206 阅读 · 0 评论 -
C++矩阵操作
实现矩阵的+,-,*,=操作#include<iostream>using namespace std;template<class T>class matrix{ friend ostream& operator<<(ostream&, const matrix<T>&); friend istream&...原创 2017-10-30 13:04:31 · 25450 阅读 · 2 评论 -
C++矩阵求转置矩阵
n阶矩阵求转置,也就是沿着左对角线反转矩阵;a[i][j] 与 a[j][i] 对换。算法实现:#include<iostream>using namespace std;template<class T>void swap(T* a, T* b){ T temp = a; *a = *b; *b = temp; return;}template<...原创 2017-10-18 21:41:05 · 41125 阅读 · 3 评论 -
MFC自定义消息响应
(1)定义一个消息响应宏,这个消息宏需要可以被触发消息的地方访问到。例如:在一个都可以访问到的头文件中加上消息宏#define WM_MYMESSAGE WM_USER+100(2)在消息响应类的头文件中声明消息响应函数afx_msg LRESULT OnMyMssage(WPARAM w,LPARAM l); //定义为public函数(3)在消息响应的.cpp文件中加入O...原创 2018-05-16 14:53:11 · 1807 阅读 · 0 评论 -
C++类与对象
1.怎么去看代类(1)C++在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,通常被称为用户定义的类型。类是对问题的抽象描述,是对对象的相关函数和数据的封装。我们可以从另一个简单的角度理解类,例如,基本数据类型,像int,double等,我们声明一个类型变量。2.类的意义(1)类是对对象的抽象,它是由我们根据客观事物抽象而成,形成一类事物;类是一种抽象...原创 2018-06-03 15:16:37 · 311 阅读 · 0 评论 -
编译器与解释器
高级编程语言可以分为编译型语言、解释型语言;又可以分为静态语言与动态语言。静态语言:是在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型。例如:C++、Java、Delphi、C#等。大多数静态语言又属于编译型语言。动态语言:是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。 例如PHP/ASP/Ruby/Pyth...原创 2018-05-24 19:29:04 · 1896 阅读 · 0 评论 -
用堆栈求表达式的值
#include#include#include#include#include#includeusing namespace std;double execute(stack&ops, stack&operands){ double result{}; double rhs{ operands.top() }; operands.pop(); double lhs{ op原创 2017-10-30 09:09:23 · 26258 阅读 · 0 评论