自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 MFC设置控件跟随窗口大小变化

窗口自适应(原理:保存坐标点与窗口比例)

2023-05-25 17:39:24 2671 4

原创 顺序栈和链式栈(C++实现)

顺序栈和链式栈内容总结

2022-09-26 17:07:13 1158

原创 静态链表(C++实现)

静态链表内容总结

2022-09-26 10:20:01 748 1

原创 双向循环链表(C++实现)

双向循环链表内容整理

2022-09-22 15:27:33 3058 8

原创 循环链表(C++实现)

循环链表内容整理

2022-09-22 11:00:03 3425

原创 单链表(C++实现)

单链表内容整理

2022-09-21 16:05:35 1727

原创 顺序表(C++实现)

线性表内容整理

2022-09-21 10:41:20 3899

原创 C++ 引用本质

引用的本质本质:引用的本质在C++内部实现是一个指针常量#include <iostream>using namespace std;int main(){ int num = 100; //自动转换为 int* const ref = &a; 指针常量是指针指向不可更改,也说明为什么引用不可更改 int& ref = num; num = 20; //内部发现ref是引用,自动帮我们转换为:*ref = 20; cout << "num:

2021-12-14 13:18:58 1108 4

原创 如何在Linux下使用java,javac命令

java命令使用java命令需要安装jdk,并且配置环境变量才可以使用。配置环境变量需要更改/etc/profile文件。输入指令:vim /etc/profile进入到文件中,如图使用G命令到文件末尾添加环境变量,设置JAVA_HOME 目录,配置路径,输出变量使环境变量生效。JAVA_HOME=/opt/jdk1.7.0_79PATH=/opt/jdk.1.7.0_79/binexport JAVA_HOME PATH保存文件,注销用户重新登入,即可使用java命令javac

2021-11-09 17:12:55 6977

原创 yum指令安装失败,或导致图形界面黑屏如何解决

前言最近在学习linux中遇到一个小问题,发现卸载重装firefox导致图形界面黑屏,黑屏之前弹出一个警告。我又重装了几次虚拟机,发现每次都会出现这种错误,最终发现是SELinux设置导致这样的问题。问题产生和解决操作步骤如下:卸载firefoxrpm -e firefox安装firefoxyum install firefox注意:使用yum需要联网安装过程中弹出如图警告,之后图形界面黑屏,重启还是卡在黑屏状态。最后通过ctrl+alt+F2进入命令行模式,输入root账号密码,禁

2021-11-09 15:41:28 1297

原创 Qt退出应用槽函数

关闭应用程序第一种:类关系:QObject->QCoreApplication->QGuiApplication->QApplication函数原型:static void quit();头文件:“qcoreapplication.h”使用方法:QApplication::quit();或者QApplication *app;app->quit();第二种:函数原型:static void exit(int retcode=0);头文件:“qcor

2021-05-17 15:05:31 2630

原创 VS2015使用QT出现“无法运行“rc.exe“”的问题

解决方式:将目标平台版本改成8.1测试过其他版本,编译都会出现LNK1158,无法运行"rc.exe"的问题,可能是SDK无法匹配的问题,看到网上说的复制rc.exe和rcdll.dll进行尝试也没有成功。不要将这两个文件复制到VS2015/VC/bin下,否则会导致普通的程序也出现同样的问题。保证QT的编译器的目录下有这两个文件即可。...

2021-05-08 15:32:13 2305

原创 OpenCV学习4:图像锐化

前言开局一张图,内容全靠编。简介图像锐化(image sharpening)是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰。函数声明void sharpen(const cv::Mat &image, cv::Mat &result);函数定义void sharpen(const cv::Mat &image, cv::Mat &result) { // 判断是否需要分配图像数据。如果需要,就分配 result.create(image.

2021-02-01 18:37:23 3218

原创 OpenCV学习3:图像减色处理

前言开局一张图,内容全靠编。简介彩色图像由三通道像素组成,每个通道表示红、绿、蓝三原色中一种颜色的亮度值,每个数值都是 8 位无符号字符类型,因此颜色总数为 256×256×256,超过 1600 万种颜色。因此,为了降低分析的复杂性,有时需要减少图像中颜色的数量。一种实现方法是把 RGB 空间细分到大小相等的方块中。例如,如果把每种颜色数量减少到 1/8,那么颜色总数就变为 32×32×32。将旧图像中的每个颜色值划分到一个方块,该方块的中间值就是新的颜色值;新图像使用新的颜色值,颜色数就减少了。

2021-02-01 11:16:41 3247

原创 OpenCV学习2:访问像素值

在图像中加入椒盐噪声。椒盐噪声是一个专门的噪声类型,它随机选择一些像素,把它们的颜色替换成白色或黑色。如果通信时出错,部分像素的值在传输时丢失,就会产生这种噪声。这里只是随机选择一些像素,把它们设置为白色。函数声明:void salt(cv::Mat image, int n);函数定义:void salt(cv::Mat image, int n) { // C++11 的随机数生成器 std::default_random_engine generator; std::uniform_

2021-01-30 15:09:32 2228 1

原创 OpenCV学习1:图像的读取、显示、绘制

在深入学习OpenCV的使用时,首先要了解一些概念和方法。1.使用OpenCV 的类和函数的方法在 OpenCV 的 C++ API 中,所有类和函数都在命名空间 cv 内定义。访问它们的方法共有两种。第一种:在定义 main 函数前使用如下声明:using namespace cv;第二种:根据命名空间规范给所有 OpenCV 的类和函数加上前缀 cv::。推荐使用第二种方法,便于初学者识别。2.在读入图像的同时进行色彩转换装载图像时转换为灰度图像,这样生成的图像由无符号字节(unsign

2021-01-30 10:56:31 2213 1

原创 入门OPENCV,创建第一个程序

OPENCV是一个开源程序库,包含了 500 多个用于图像和视频分析的优化算法。我们可以利用它进行图像处理,现在来创建一个简单的程序。1.在官网上下载OPENCV网址:https://opencv.org/链接:link点击这里来下载最新的版本。2.安装OPENCV解压生成 opencv 目录。其中build是OpenCV使用时要用到的一些库文件。3.配置环境变量我的电脑—>属性—>高级系统设置—>环境变量,找到Path变量,选中并点击编辑。将OPENCV的目录

2021-01-29 17:34:55 2495

原创 在C语言如何快速转换大小写字母?

在C语言中,我们想要输出一个字符,其实是需要对应ASCII值。查ASCII不难发现,A-Z和a-z差值都是32,那么是否有快速将大写字母转换成小写字母的方式呢?答案肯定是有的,比如说调用isupper()和islower()判断,然后进行转换。但是我们学过汇编就知道,数值相差32正是数据的第五位是否是1,也就是0010 0000,我们可以利用这个特点来进行改变。大写字母ASCII二进制值小写字母ASCII二进制值A650100 0001Ba970110 0001B

2020-12-08 00:43:37 3317

原创 WIN10下如何使用DEBUG

学习汇编时会使用到debug调试程序,但是在WIN10下需要我们手动安装,下面介绍如何安装。1.下载DOSBox网站:https://www.dosbox.com/链接: link进入网站,点击标题栏中的Downloads。点击Download Now进行下载。加载到新的页面,我们静静等待几秒后开始下载。2.安装DOSBox直接运行下载完的安装程序,点击Next。根据需求对安装目录进行修改。默认安装在C盘,程序本身很小,也可以使用默认安装。3.下载debug.exe直接在浏

2020-12-02 23:04:20 6981 6

原创 如何为电脑添加组策略

本地组策略编辑器是一个 Microsoft 管理控制台 (MMC) 管理单元,它提供一个单一用户界面,通过该界面可管理本地组策略对象(GPOs)。通常打开方式都是按 Win + R 组合键,打开运行,并输入:gpedit.msc 命令,确定或回车打开本地组策略编辑器,可有些用户在输入:gpedit.msc 命令后,却提示:Windows 找不到文件“gpedit.msc”。请确定文件名是否正确后,再试一次。解决方法:1.在桌面空白处新建一个文本文档2.在文档中输入以下代码:@echo offpu

2020-10-24 17:09:18 4013

原创 C语言直线拟合函数

直线拟合算法函数说明:通过一些点拟合出一条直线。参数:pt_input指向传入的点的指针。ptNumbers传入的点数量。k指向拟合直线参数k的指针。b指向拟合直线参数b的指针。返回值:返回一个代数值判断拟合是否成功。如果成功,则返回 0。如果返回-1,表示点的数量<2。如果返回-2,表示x坐标无变化。代码:typedef struct tagPOINT_2 { double x; double y;}POINT_2, *PPOINT_2;int LineInf

2020-10-15 10:12:48 5662

原创 C语言获取字符串长度的几种方法

在C语言中,想要获取字符串长度可以有很多方法,下面分别介绍一、使用sizeof()运算符在C语言中,sizeof() 是长度的运算符,括号中可以放入数据类型或者表达式,一般我们用来计算字符串长度。基本用法:int i=10;sizeof(i);//表达式char str[]="hello world";sizeof(str);sizeof(double);//数据类型在使用sizeof()求字符串长度时,会将 ‘\0’ 也计算到字符串长度中。例如"abcd"用sizeof()求长度会

2020-09-02 10:50:58 194441 11

原创 利用EasyX在控制台应用程序画图

EasyX 是针对 C/C++ 的图形库,可以帮助使用C/C++语言的程序员快速上手图形和游戏编程。那么如何利用EasyX进行画图呢?1.安装EasyX首先在官网下载EasyX,网址:https://easyx.cn/链接: link根据提示安装,点击下一步根据自己的版本安装,我用的编程软件是VS2017。点击之后,会提示安装成功,这时我们就可以进行编程了。2.打开编程软件进行测试创建一个控制台项目,项目名称为EasyX_test创建好项目后如图,在main中添加代码即可开始绘图

2020-08-25 16:11:20 3945

原创 MFC画弧函数(三点画弧,角度画弧)

const float pi = 3.1415926;/*********************************************************************************************** * 添加坐标系及刻度 * *===========================================================================

2020-07-21 11:29:48 3884 1

原创 UDP组播更改网段搜索设备ip

/*************************************************************************************************=============================================================================================*/#pragma comment(lib, "ws2_32.lib")#include <winsock2.h&g

2020-07-21 09:35:44 2598

原创 C语言多功能计算器

四则运算、单位转换计算器

2020-07-20 09:20:11 6926 6

原创 C语言实例:提取字符串中全部数字

如果我们输入一个字符串,其中含有字母和数字,如果只想要其中的数字,如何处理呢?实现方法:比如说,我们想要将“d2d2d3”中的数字“223”提取出来,那么需要逐个字符判断是否为为数字,条件成立则放在新的字符数组中。代码:#include<stdio.h>#include<string.h>#include "ctype.h"int main(){ char str[100] = "", s[100] = ""; int i = 0, j = 0; gets_s(s

2020-07-03 09:11:24 26539 4

原创 C/C++利用netsh设置动态IP和静态IP

在使用电脑时我们可以根据在更改以太网Internet协议版本4(TCP/IP)的属性来设置动态IP和静态IP但是这样做很麻烦,我们可以通过程序来更改静态IP和动态IP,只需要一条简单的代码就可以实现。静态IP:system("cmd /c netsh interface ip set address \"以太网\" static 192.168.1.10 255.255.255.0 192.168.1.1");动态IP:system("cmd /c netsh interface ip se

2020-07-02 14:02:01 5371

原创 C语言实例:使用递归函数求斐波那契数列和阶乘

编程语言中,函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数。递归函数不能定义为内联函数。执行递归函数将反复调用其自身,每调用一次就进入新的一层,当最内层的函数执行完毕后,再一层一层地由里到外退出。例1:使用递归函数求斐波那契数列斐波那契数列可表示为:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)求数列第n项可以用递归函数,只有当n1和n2时函数结束;其他情况一直调用他本身。代码:#include <st

2020-06-12 17:25:44 12605 2

原创 C语言实例:字符和ASCII相互转换

ASCII对照表ASCII值控制字符ASCII值控制字符ASCII值控制字符ASCII值控制字符0NUT32(space)64@96、1SOH33!65A97a2STX34"66B98b3ETX35#67C99c4EOT36$68D100d5ENQ37%69E101e6ACK38&70F102f7BEL39’71G1

2020-06-08 12:49:45 40035 2

原创 C语言求绝对值的问题

在计算中有时需要对数据取绝对值,在C语言中有不同的函数提供给我们使用1.计算整型变量的绝对值语法: int abs(int n); long labs(long n); long long llabs(long long n);要求:必需头文件<math.h> 或 <stdlib.h>例:分别用abs,labs,llabs对三个数取绝对值代码:#include <stdio.h>#include <math.h>int main(){

2020-06-08 11:05:21 11995

原创 C语言如何判断一个字符是否为小写字母

当输入一个字符串中是否含有小写字母时,也即 a~z。我们可以使用C语言中的islower() 函数用来判断。该函数需要引用ctype.h文件语法:int islower(char c);参数 c 表示要检测的字符。例:输出一个字符串中所含有的全部小写字母代码:#include <stdio.h>#include<string.h>#include <ctype.h>int main(){ char str[50] = { 0 }; int i, l

2020-06-07 23:04:52 10919

原创 C语言如何判断一个字符是否为大写字母

当输入一个字符串中是否含有大写字母时,也即 A~Z。我们可以使用C语言中的isupper() 函数用来判断。该函数需要引用ctype.h文件语法:int isupper(char c);参数 c 表示要检测的字符。例:输出一个字符串中所含有的全部大写字母代码:#include <stdio.h>#include<string.h>#include <ctype.h>int main(){ char str[50] = { 0 }; int i, l

2020-06-07 23:00:38 18360

原创 C语言如何判断一个字符是否为数字

当输入一个字符串中是否含有数字时,我们可以使用C语言中的isdigit() 函数用来判断,也即 0~9。该函数需要引用ctype.h文件语法:int isdigit(int c);参数 c 表示要检测的字符或者 ASCII 码。例:输出一个字符串中所含有的全部数字代码:#include <stdio.h>#include<string.h>#include <ctype.h>int main(){ char str[50] = { 0 }; int

2020-06-07 22:47:39 30585

原创 C语言实例:斐波那契数列

斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368…这个数列从第3项开始,每一项都等于前两项之和。要求:从控制台获取斐波那契数列的数量,输出指定数列。实现方法1:使用 for循环,将t1赋值第1个数,t2赋值第2个数,计算出第3个数,输出第1个数。然后再将t1赋值第2个数,t2赋值第3个数,计算出第4个数,输出第2个数。以

2020-06-07 17:30:34 5212

原创 C语言实例:三个数从小到大排序

从控制台输入三个整数a,b,c,实现对这 3 个整数由小到大进行排序实现方法:使用 if 语句进行条件判断,如果 a 大于 b,则借助于中间变量 temp 互换 a 与 b 值, 依此类推比较 a 与 c、b 与 c,最终结果即为 a、b、c 的升序排列。代码:#include <stdio.h>int main(){ int a, b, c, temp; scanf_s("%d%d%d", &a, &b, &c); if (a > b) {

2020-06-07 16:55:01 20435

原创 关于(int)a与int(a),C与C++中的强制类型转换区别

强制类型转换的一般形式为:(类型名)(表达式)如:(int)a。这是C语言使用的形式,C++把它保留了下来,以利于兼容。C++还增加了以下形式:类型名(表达式)如:int(a)。这种形式类似于函数调用。...

2020-06-06 17:28:54 4488

原创 关于VS2017中const char *不能用于初始化char *类型的实体的问题

在C语言中并没有字符串类型,如果想要给定字符串,有两种初始化方法:1.使用字符数组例如:char name1[] = "小明";2.使用字符指针例如:char *name2 = "小明";在VS2017中使用第一种方法初始化字符串,可以使用的。但是使用第二种方法,会提示错误。如何解决呢?方法1:在char *前增加constconst char *name3 = "小明";该方法将字符串保存在静态数据区,数据不能修改,可以正常输出,但是进行函数传参会出错。想要使用指针,可以先

2020-06-06 17:06:19 3126

原创 printf中输出表达式过长换行的几种方式

printf中输出表达式过长如何换行输入输出函数(scanf 和 printf)是C语言中非常重要的两个函数,也是学习C语言必学的两个函数。在C语言程序中,几乎没有一个程序不需要这两个函数,尤其是输出函数(printf)。如果在程序中要使用 printf 或者 scanf,那么就必须要包含头文件 stdio.h。因为这两个函数就是包含在该头文件中的。C语言中比较复杂的数据结构,用它输出还是很方便的。当我们在printf中输出表达式过长时,应该如何换行呢?方式1 使用\\后只能是回车,不能再有任何内

2020-06-03 11:05:10 22980

原创 VS2017使用自己写的DLL

VS2017使用自己写的DLL一.创建DLL1.打开VS,创建一个DLL项目,命名为"MDLL"。点击:“文件”-“新建”-“项目”-“已安装”-“Visual C++”-“Windows 桌面”-“动态链接库(DLL)”“名称(N):”后面输入“MDLL”2.创建好的工程有默认的头文件和源文件。展开:“头文件”和“源文件”3.在头文件添加一个名为MDLL.h的头文件。并在此添加一个需要使用的函数的声明,例如这里编写了一个比较两个数最大值的函数。点击:“头文件”-“添加(D)”-“新建

2020-05-27 17:31:38 3152

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除