自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 单链表的逆序输出

Node*exchange(Node*head){ Node *p = *head,*q,*r; if(!head) //判断参数的有效性 { return head; } if(head && !head->next) //如果链表长度为1 { return head; } q = p->next; ...

2019-08-16 09:48:24 693

原创 STM32f429使用0.96 oled

我的32单片机因为型号问题,和网络上的很多型号都有些不同,因此需要自己编写iic的读写数据、读写命令的代码来操作oled,因此下面的代码可以分为两部分,一部分是iic的读写,读写我是根据老师给的代码进行修改的,而oled的显示是根据正点原子提供的相关代码,至于将二者合二为一则是参考了网络上的一篇博客,网址也忘了,可能是自己把它弄成功之后太高兴的缘故。这是我成功之后的图片,当然并不是下面的代码直接...

2019-08-10 21:01:56 1877 5

原创 在stm32F429上使用lcd1602(四针法)

注意:程序里的头文件有些可能有些欠缺。文本最后有个使用举例,可参考。关于成功的图片:我不慎正负极连反,把lcd1602烧掉了,因此改用0.96oled做项目了,所以现在也没法上传成功后的照片了,所以正负极连接需谨慎。说多了都是泪。。。连线详情:VSS:接地VDD:接5V电源(连接时注意正负极!!!)V0:接地RS:PB0RW:PB1EN:PB10D4-D7:PA4-PA7A:接...

2019-08-02 16:20:38 2863

原创 关于opencv找不到opencv_world341d.dll的问题解决办法(VS2017+win10)

今天装了将近两个小时的opencv,按照网上的步骤都准备完毕,但是一运行示例程序,就会报:fatal error LNK1104: 无法打开文件“opencv_world341d.lib”在网上,试了好几种方法都不能成功,然后我突然想到,既然他缺这个文件,那么我就可给他创造出来,因此首先:在原先的文件夹下我复制了opencv_world346d.lib(我在官网上下的是3.4.6版本,你们也可...

2019-07-25 15:26:55 40689 16

原创 C++设计模式之组合、装饰、适配器、桥接、外观模式(例子为主)

组合模式:单个对象和组合对象的使用具有一致性。将对象组合成树形结构以表示“部分–整体”(举例:文件夹增加删除遍历)首先创建一个文件虚基类(包括名字、地址、增加、删除),用以派生出文件(只有名字)和文件夹(名字、地址、增加、删除),文件夹在构造的时候不仅需要取名,还要创建一个链表来保存子目录的文件或文件夹的地址。采用迭代器,递归的方法,显示某个文件夹下面的所有文件。/**************...

2019-07-20 15:01:00 212

原创 Qt定时器可以做后台使用

使用Qt定时器并不会影响主线程的进行,相当于自己可以开一个后台。比如,我做了一个客户端,想要每隔1s向服务器要数据,那么也即每隔1s向客户端发送接收请求,除了再开一个线程的方法,我们也可以Qt里的定时器,使用方法如下:在构造函数下构造一个定时器,每0.5s做出响应,sendMessage()函数根据自己的要求定义即可:QTimer *testTimer = new QTimer;conne...

2019-07-18 13:42:50 576

翻译 用栈实现计算器的举例阐述

注意:代码中的注释有些错误,此文仅供参考;代码是从QT上截取的部分,不能直接运行,需用QT Create。需要结合代码看:举例:(2+1*3)第一次:符号栈(第二次:数字栈2第三次:符号栈+;因为栈顶为(,自己不为)第四次:数字栈1第五次:符号栈*;因为自己比栈顶+的权值大第六次:数字栈3第七次:符号栈):因为自己比栈顶*的权值大出栈第一次:出栈)第二次:因为*,执行13,...

2019-07-11 21:26:31 126

原创 对字符串操作的简单功能(一)

简述:1、不使用库函数将字符串转换为数字2、编程实现strcpy()函数3、编程实现字符串中字串的查找4、编程实现字符串中个单词的翻转5、编程查找两个字符串的最大公共子串以下代码参考了《C和C++程序员面试秘籍》一书,代码侧注释了自己对代码的理解,如有错误之处,敬请指出。1、不使用库函数将字符串转换为数字/**************************************...

2019-07-10 20:54:13 204

原创 c++设计模式之单例模式

作用:保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象实现单例模式的步骤:(1)将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。(2)在该类内部产生一个唯一的实例化对象,并且将其封装为private static类型;保证程序中只有一块内存(3)定义一个静态方法返回这个唯一对象;可以通过类名来调用单例模式有两类:懒汉式和饿汉式懒汉...

2019-07-09 18:46:03 102

原创 Centos安装madplay步骤、资源、播放音乐以及共享库路径问题解决

我根据网上的安装步骤,基本都可以完成到最后一步,但是当我进行音乐播放的时候(即直接输入madplay的时候),出现了:error while loading shared libraries: libnet.so.1:cannot open shared object file :No such file or directory”的错误提示。解决办法是:输入ldconfig输入madpla...

2019-07-08 16:27:14 576

原创 C++设计模式之简述三种工厂模式

在这三种工厂模式下仍有许多缺点,下面这篇博客提供了更为详细的解答:https://blog.csdn.net/u012156116/article/details/80857255相关知识:使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。开放封闭原则:类的改动是通过增加代码进行的,而不是修改源代码。依赖倒置原则:依赖于抽象(接口),不要依赖具体的实现(类),...

2019-07-08 09:27:29 211 1

原创 C++中的部分常用的格式化输出的分析

C++为标准输入和输出定义了一些格式标志, 它可以通过flags(), setf(), 和 unsetf() 三个函数来控制.(1)cout.setf()的作用是通过设置格式标志来控制输出形式(2)cout.flags()的用法可以参考setiosflags的用法进行操作(暂时未在一般的搜索引擎上搜索到关于该函数的详细用法)(3)cout.unsetf()的作用是取消已设的那个格式定义我个...

2019-05-05 20:46:29 533

原创 在C++的类中,一些关键字修饰成员函数时的位置

一下只是简略参考多篇博客的阐述:1、inline:内联函数,函数的声明与定义前均可加关键字inline,但是在函数声明处加inline虽然没有错,但这种做法是无效的,编译器会自动忽略函数声明处的inline关键字。例:#includeusing namespace std;/函数模板/templateinline void m_swap(T &a, T &b){...

2019-04-07 15:27:31 332

原创 C/C++里一些常用的变量类型的范围及相关解释

1、关于char的取值范围(1)char占一个字节,每个字节有8位。char又分为有符号型(signed char)和无符号型(unsigned char)。这二者的不同之处就在于有符号型将最高位作为了符号位,0代表正数,1代表负数。无符号型的取值范围为0-255(2^8-1),这个很容易理解,因为char型只有8位。有符号型的取值范围位-128(-27-1)-127(27-1)出现这...

2019-04-03 20:14:30 2164 1

原创 C++中的引用占用内存空间

C++编程,在使用引用的时候,往往感觉引用不占内存空间,比如当我们去定义一个引用,比如int a;int &b = a;对a和b取地址发现他们的地址是一样的,而且他们的字节数也是一样的。这就让我误认为引用不占内存空间。但是下面的代码却可以证实引用是占内存空间的。样例代码: #include<iostream>using namespace std;doubl...

2019-03-29 19:18:02 4415 8

原创 员工信息管理(基础功能)(类的多态、虚基类)

1、本程序是在VS2017上编译的,以前很多可用的C语言里的函数在这个版本不能够使用,就比如其中的scanf_s以及strcpy_s均是为了让原版函数更安全,传入一个和参数有关的大小值,避免引用到不存在的元素,防止hacker利用原版的不安全性黑掉系统。scanf_s与getchar连用可以清空缓存区,避免程序死循环2、能够简单的实现页面的切换,对输入选择的判断以及信息的录入和显示,没有添加存...

2019-03-28 18:29:26 291

原创 聊天室——文件传输(多线程)

这只是用作测试,想要真正的实现客户端与客户端之间的传输等功能还需要修改很多。思路:服务器里一个线程打开文件并进行读取,当读到规定的上限时,发送到客户端;发送完毕后,接着上次继续读取,再发送,直到读取完毕。而客户端则是,接收信息,新建一个.c文件,将接收到的信息存到新建的文件中去。程序描述:运行./server a.c -> ./client;之后屏幕会出现读取的详细信息;客户端输入“b...

2019-03-22 20:31:52 2197

原创 通过TCP协议以及多线程实现聊天(待深究版)

通过TCP协议以及多线程实现聊天(待深究版)如下代码可以实现客户端的相互之间的通信,但是仍有小问题。至于具体想实现的功能,就自己添加吧。问题描述:在执行服务器与客户端的时候,如果对客户端强制退出(ctrl+c),则会导致所有的客户端与服务器均退出;如果对服务器进行强制退出(ctrl+c),则会导致客户端出现接收的死循环。排除强制退出的问题,程序可以实现基本的聊天功能。小提示:(1)在运行...

2019-03-22 17:06:51 219

原创 Linux下vim编辑器一些操作的整理(centos 64)

命令行下的命令1、【x】:每按一次,删除光标所在位置的后面的一个字符2、【#x】:例如,【4x】表示删除光标所在位置的后面的4个字符3、【X】:每按一次,删除光标所在位置的前面的一个字符4、【#X】:例如,【4X】表示删除光标所在位置的前面的4个字符5、【dd】:删除光标所在行6、【#dd】:从光标开始删除#行7、【yw】:将光标所在之处到字尾的字符复制到缓冲区8、【#yw】:复制...

2019-03-13 20:30:19 899

转载 scanf与getchar连用时问题

我在做密码回显的时候,发现当自己用scanf输入id后,(做密码回显用的是getchar()),程序直接跳过输入密码的步骤。在网上搜索了一下,原来是因为前面的scanf()在读取输入时会在缓冲区中留下一个字符’\n’,所以如果不在此加一个getchar()把这个回车符取走的话,getchar()就不会等待从键盘键入字符,而是会直接取走这个“无用的”回车符,从而导致读取有误,要解决这个问题,就要防...

2019-03-10 19:59:10 2544

原创 在linux下实现密码输入不回显、回显(不可删)、回显(可退格)

一、在linux下实现密码输入不可见即输入密码时不会产生回显,可用getpass这个函数。需要的头文件:#include&lt;unistd.h&gt;使用样例:int main(){char *eam;eam = getpass(“请输入密码:\n”);printf(“密码为:%s\n”,eam);}二、在linux下实现密码输入可见即输入密码时会产生回显(不可删除),操作如下...

2019-03-09 17:49:38 1838

原创 虚拟机正常运行但无法显示(慎用)

新建一个TXT文档,在里面写入netsh winsock resetpause然后关掉,将txt后缀改为bat,接着以管理员身份运行。如果你登录在电脑上的身份是管理员,可以直接打开cmd,输入netsh winsock reset即可。netsh winsock reset的意思是重新初始化网络环境。不过可能会造成TCP/IP协议有问题了,无法上网,反正就是慎用。...

2019-02-07 15:30:31 2130

原创 在lcd屏上实现滚动(51单片机)

/*****************************************************************************name: lsdescription: 基于51单片机,滚动显示,lcd1602显示,第一行静止不动显示“Welcome!”,第二行滚动显示“Tall tree...

2019-02-03 19:06:56 13220 2

原创 停车场

/*****************************************************************Copyright © 2018 SU_QIAN Ltd. All rights reserved.文件名称:park.c创 建 者:李赛创建日期:2018年12月02日描 述:停车场小程序**************************...

2018-12-17 20:30:58 302

原创 无头链表实现插入删除修改等功能

/*****************************************************************Copyright © 2018 SU_QIAN Ltd. All rights reserved.文件名称:linklist.c创 建 者:ls创建日期:2018年12月02日描 述:****************************...

2018-12-14 21:53:52 249

翻译 如何得到系统时间

/*struct tm * gmtime(const time_t *timer); //将日历时间转化为世界标准时间(即格林尼治时间)struct tm * localtime(const time_t * timer); //将日历时间转为本地时间将通过time()函数返回的值,转成时间结构structtm :struct tm {int tm_sec; /* 秒 – 取值区间为[0,5...

2018-12-06 19:36:31 152

原创 通讯录

/*****************************************************************Copyright © 2018 SU_QIAN Ltd. All rights reserved.文件名称:contaction.c创 建 者:ls创建日期:2018年11月22日描 述:本通讯录(红帽子vim编辑器可运行,想要在vs中运行需要修...

2018-11-30 16:34:40 192

原创 作业03

1、已知 ch 是字符型变量,下面不正确的赋值语句是__a__。a. ch=‘a+b’; b. ch=’\0’; c. ch=‘7’+‘9’; d. ch=5+9;解释:ch='a+b’是错的,‘a+b’不是单个字符,应该是个字符串,不能直接这样赋值;’\0’是转义字符 ;‘5’+'7’是两个字符相加,返回的也是字符 ;5+9是整型,但可以强制类型转化为字符,如果说这个错也有可能,因为没有强制...

2018-11-22 18:26:02 1191

翻译 作业01

Linux基础知识考查 1、在Linux 系统中,以( 文件 )方式访问设备2、前台起动的进程使用( ctrl+c )终止。3、在使用ls 命令时,用八进制形式显示非打印字符应使用参数( -b ) 。4、在Linux 系统中,用来存放系统所需要的配置文件和子目录的目录是( /etc )。5、在Linux 系统中,压缩文件后生成后缀为.gz 文件的命令是( gzip )。6、将/ho...

2018-11-15 18:27:34 211

空空如也

空空如也

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

TA关注的人

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