自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 Linux vi 命令编辑操作

vi 命令基本操作:vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指 令。由于 对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编 辑器,学会它后,您将在Linux的世界里畅行无阻。1、vi的基本概念基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(

2020-12-03 18:04:10 9

原创 Linux命令之如何从普通用户切换至管理员用户

普通用户,标志是一个$符号管理员用户,标志是一个#符号切换命令sudo su -

2020-11-30 17:47:52

原创 Linux 新建文件命令

1.创建文件夹mkdir -p 文件夹名p 确保目录名称存在,不bai存在的就建一个。2、创建文件touch a.txt

2020-11-27 16:13:36 3

原创 QT 计算两个日期时间差

1、计算两个日期天数差 QDateTime time1 = QDateTime::fromString("2020-11-26 16:40:02", "yyyy-MM-dd hh:mm:ss"); //QDateTime time2 = QDateTime::fromString("2020-11-26 16:43:02", "yyyy-MM-dd hh:mm:ss"); QDateTime time2 = QDateTime::currentDateTim

2020-11-27 11:07:48 35

原创 Ubuntu18.04连不上网的解决方法

1、先查看本地主机关于vmware的三个service服务是否开启,如果没有开启,则一次点击:我的电脑---->管理----->服务,找到vmware相关的service并开启2、如果开启了服务,Ubuntu还是不能联网,则在Ubuntu中进行接下来的步骤:1)设置网络连接方式为:NAT模式;2)在控制台输入一下命令sudo service network-manager stopsudo rm /var/lib/NetworkManager/NetworkManager

2020-11-26 15:12:15 4

原创 解决Failed to restart network.service: Unit network.service not found.

问题:使用systemctl restart network 或 service network restart 命令重启网卡失败。分析:命令用错了,找不到相应的网卡服务解决方法:1、可以尝试使用以下命令:service network-manager restart2、如果是 Kali Linux(Debian),则需要用以下命令:service networking restart3、如果是Centos 8,则需要用以下命令:nmcli c reload.

2020-11-26 09:48:11 63

原创 QT常见错误及解决方法

1、error: ‘header’ was not declared in this scope在使用此变量之前没有对其进行定义2、error - RtlWerpReportException failed with status code :-1073741823这个错误多半是因为一个变量定义好后还没有被初始化,在内存中还没有分配空间,就被拿来使用了。或者一些多线陈里或者文件.h定义先后顺序的问题,检查变量被使用前是否已经初始化和分配空间3、QMetaObject::connectSlot

2020-11-23 11:22:40 134

原创 Qt int转QString

int i = 5;QString s = QString::number(i);

2020-11-19 14:28:11 8

原创 Linux 删除目录的方法

1、使用rmdir删除目录Rmdir命令间成“remove directory”,用于删除空目录的命令。例如,删除一个名为“MyDocuments”的空目录:[root@localhost test]# rmdir MyDocuments如果目录不是空的,会提示错误:rmdir: failed to remove ‘MyDocuments’: Directory not empty2、使用rm命令删除目录rm命令通常用于删除Linux中的文件。可以添加参数用来删除目录。例如,

2020-11-18 17:21:24 32

原创 Linux 中tar.xz压缩文件的解压命令

对于tar.xz结尾的压缩文件,解压有两种方式:1、可以先将外层用xz解压方式解压,然后里层用tar解压方式解压:xz -d *****.tar.xztar -xvf *****.tar2、直接使用如下命令解压:tar xvJf ***.tar.xz...

2020-11-16 10:13:42 19

原创 QT Creator左侧项目管理栏不小心关掉了,如何让其显示出来

方法: 控件——显示边栏Show Left Siderbar

2020-11-06 16:16:00 77

原创 C ++ 临界区、互斥对象、信号量、内核事件

临界区 临界区(Critical Section)是一段独占对某些共享资源访问的代码,在任意时刻只运行一个线程对共享资源进行访问,如果有多个线程试图同时访问临界区,那么在有一个线程进入后其他所有试图访问此临界区的线程将被挂起,并一直持续到进入临界区的线程离开。临界区在被释放后,其他线程可以继续抢占,并以此达到用原子方式操作共享资源的目的。 临界区在使用时以CRITICAL_SECTION结构对象保护共享资源,并分别用EnterCriticalSection()和LeaveCri...

2020-11-03 09:50:33 16

原创 Socket编程 TCP粘包问题及解决方案

① TCP是个流协议,它存在粘包问题TCP是一个基于字节流的传输服务,"流"意味着TCP所传输的数据是没有边界的。这不同于UDP提供基于消息的传输服务,其传输的数据是有边界的。TCP的发送方无法保证对等方每次接收到的是一个完整的数据包。主机A向主机B发送两个数据包,主机B的接收情况可能是产生粘包问题的原因有以下几个:第一 。应用层调用write方法,将应用层的缓冲区中的数据拷贝到套接字的发送缓冲区。而发送缓冲区有一个SO_SNDBUF的限制,如果应用层的缓冲区数据大小大于套接字发送缓冲区的大

2020-10-21 11:49:19 8

原创 QT 中QMainWindow、QWidget、QDialog的区别

QWidget :是所有图形界面的基类,也就是QMainWindow和QDialog都是QWidget的子类;QMainWindow是一个提供了菜单、工具条的程序主窗口QDialog是对话框,多用于短时间与用户的交互

2020-10-15 14:55:35 27

原创 QCamera : no such file 问题

在项目 *.pro中添加即可。QT += core guiQT += multimediaQT += multimediawidgetsQT += multimedia ==》对应<QCamera> 和 <QCameraImageCapture>QT += multimediawidgets ==》对应<QCameraViewfinder>...

2020-10-14 11:50:50 28

原创 QT 对话框不在任务栏显示

#include "widget.h"#include <QApplication>#include <QDockWidget>#include <QWidget>int main(int argc, char *argv[]){ QApplication a(argc, argv); Widget w; //这样新建的窗口在taskbar没有对应的任务图标,并且不能被关闭,如若需要做桌面悬浮工..

2020-10-13 14:50:27 38

原创 Qt中QString 与QByteArray ,QString 与char * ,QByteArray 与 char *之间的转换

1、QString -> QByteArrayQString str = "123";QByteArray array = str.toUtf8(); //中文array = str.toLocal8Bit();2、QByteArray - > char *char *p = arrya.data();3、char * - > QStringchar *p = "abc";QString c = QString(p);...

2020-10-13 10:07:38 13

原创 new 和 malloc 区别

new 和 malloc区别1. 申请的内存所在位置new操作符从自由存储区(free store)上为对象动态分配内存空间,而malloc函数从堆上动态分配内存。自由存储区是C++基于new操作符的一个抽象概念,凡是通过new操作符进行内存申请,该内存即为自由存储区。而堆是操作系统中的术语,是操作系统所维护的一块特殊内存,用于程序的内存动态分配,C语言使用malloc从堆上分配内存,使用free释放已分配的对应内存。那么自由存储区是否能够是堆(问题等价于new是否能在堆上动态分配内存),这取决

2020-09-29 17:24:40 8

原创 SendMessage 和 PostMessage的区别

1、返回时间不同PostMessage发送消息后就立即返回 (非阻塞) SendMessage发送消息后,等待消息处理函数处理完后才返回 (阻塞)2、返回值不同PostMessage的返回值是BOOL,返回非0则消息执行成功,返回0则消息执行不成。 SendMessage的返回值是LRESULT,返回的是消息处理函数后的返回值4、同步和异步问题如果发送的消息码在WM_USER之下(非自定义消息)且消息参数中带有指针,那么PostMessage,SendNotifyMessage,Send

2020-09-29 17:06:58 15

原创 strcpy,sprintf,memcpy之间的区别

原型char *strcpy(char *dest,const char *src);int sprintf(char *str,const char *format,...);void *memcpy(void *dest,const void *src,size_t n);操作对象strcpy的两个操作对象均是字符串sprintf的操作源对象可以是多种数据类型,目的操作对象是字符串memcpy的两个对象就是两个可操作的内存地址,不限于何种数据类型执行效率memcpy最

2020-09-29 15:34:39 14

原创 To run a command as administrator (user “root“), use “sudo “. See “man sudo_root“ for detai

解决方法:touch ~/.sudo_as_admin_successful

2020-09-29 09:33:35 88

原创 Linux 下创建并运行C与C++程序

1、运行虚拟机,启动Ubuntu,进入终端2、如果未安装gcc编译器及vim文本编辑器,首先在终端下输入如下指令,并输入密码进行下载。sudo apt install gccsudo apt install vim3、使用vim文本编辑器,输入vim指令分别创建我们需要的C及C++文件。vim hellworld.cvim helloworld.cpp4、进入文本编辑器界面,按键盘 “i”按键,进入编辑模式,在文本中输入相对应代码, 编辑完成按键盘"ESC"键进入命令模式,输入“

2020-09-28 17:02:33 138

原创 解决VMware中Ubuntu18.04全屏问题

在虚拟机机中安装完Ubuntu18.04之后界面显示的特别小,默认的是800*600分辨率,看着不舒服。先是在设置->设备->显示 改变屏幕的分辨率。里面的分辨率大小都是固定的,也不能完全充满虚拟机整个界面。接着是安装 VMware Tools , sudo ./vmware-install.pl 安装不成功提示使用 open-vm-tools .安装步骤:1.更新下载源,在这里用的是 http://mirrors.aliyun.com/ubuntu 阿里云的服务器。..

2020-09-25 16:25:56 35

原创 HTTP请求、响应和头信息

客户端 发送的请求消息为字符流,由请求行(包括方法、统一资源标识符URL和HTTP协议版本)和头信息组成下面是一个合法的HTTP请求消息例子。通过这个例子来大概了解一下一个HTTP请求消息。GET /jytest/page/jsp02/easy.jsp HTTP/1.1Host: localhost:8080User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; zh-CN; rv:.11)Accept: text/html,applic

2020-09-22 10:12:08 17

原创 accept 和 content-Type区别

accept表示 客服端(浏览器)支持的类型,也是希望服务器响应发送回来的的数据类型。例如:Accept:text/xml; ,也就是希望服务器响应发送回来的是xml文本格式的内容区别:1.Accept属于请求头, Content-Type属于实体头。Http报头分为通用报头,请求报头,响应报头和实体报头。请求方的http报头结构:通用报头|请求报头|实体报头响应方的http报头结构:通用报头|响应报头|实体报头2.Accept代表发送端(客户端)希望接受的数据类型。比如:A...

2020-09-11 17:32:01 27

原创 C/S和B/S架构

一、C/S(Client Server)两层架构1、C/S解析:C是英文单词“Client”的首字母。即客户端的意思,S是英文单词“Server”的首字母 ,即服务器的意思;C/S就是“Client/Server”的缩写,即“客户端/服务器”模式。2、两层架构分别是:第一层:客户端----表示层(界面层与逻辑层)第二层:服务器模式-----数据库层3、C/S构架流程客户机----经过(Request)请求------服务器(即数据库)----数据库根据客户机的请求——进一步(Re

2020-09-10 10:52:53 27

原创 C++ 中的STL中的map用法详解

Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道,这里说一下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这棵树具有对数据自动排序的功能,所以在map内部所有的数据都是有序,后边我们会见识到有序的好处。1、map简介map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作

2020-09-10 10:35:36 39

原创 MFC 设置Static Text控件的字体和颜色

第一种方式:(1)打开资源视图。(2)双击打开STATIC所在的对话框(3)修改STATIC的ID属性,这里假设为IDC_STATICMessage (4) 为对话框添加类,假设为CxxxDialog (5) 选择对话框,在属性面板上点击消息,并选择WM_CTLCOLOR (6) 在对话框对应类的CPP中新增下面的代码HBRUSH CxxxDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){ ...

2020-09-04 11:07:28 124

原创 MFC 解决绘图时闪烁问题

防止闪烁的方法:(1)将Invalidate()替换为InvalidateRect()。Invalidate()会导致整个窗口的图象重画,需要的时间比较长,而InvalidateRect()仅仅重画Rect区域内的内容,所以所需时间会少一些。不要为一小块区域的重画就调用Invalidate(),不愿意自己去计算需要重画的Rect,事实上,如果你确实需要改善闪烁的情况,计算一个Rect所用的时间比起重画那些不需要重画的内容所需要的时间要少得多。(2)禁止系统擦除你的窗口系统在需要重画窗口的时候

2020-09-04 10:28:17 76

原创 MFC 将字节转换成KB、MB和GB

#define KB 1024#define MB (1024*KB)#define GB (1024*MB)void CDemoDlg::OnTest(){ int nNum1 = GetDlgItemInt(IDC_NUM1); CString strNum2 = _T(""); //转换成GB if (nNum1 > GB) { strNum2.Format(_T("%0.2fGB"), (double)nNum1 / GB)...

2020-08-12 14:45:21 53

原创 字符串与Unicode码相互转换

// Unicode下CString转Multichar *int UnicodeCStringToMultiChar(CString srcStr, char *destChar){ if (NULL == destChar) return -1; int ansiCount=WideCharToMultiByte(CP_ACP,0,srcStr,-1,NULL,0,NULL,NULL); WideCharToMultiByte(CP_ACP,0,srcStr...

2020-08-10 09:55:27 51

原创 字符编码的转换(Unicode、UTF-8、ANSI)

//ANSI 转UTF8string ANSIToUTF8(const char *szANSI){ string strOutUTF8 = ""; WCHAR * str1; //计算接收到待转换字符串的缓冲区所需ansi字符数 int n = MultiByteToWideChar(CP_ACP, 0, szANSI, -1, NULL, 0); str1 = new WCHAR[n]; //向str1缓冲区写入ansi字符 MultiByt...

2020-08-07 17:32:09 55

原创 MFC error C4703: 使用了可能未初始化的本地指针变量“xxx“

编译器报错error C4703: 使用了可能未初始化的本地指针变量"xxx"解决方法:有一个选择打开和关闭SDL检查的位置就是:项目属性->配置属性->C/C+±>SDL检查,选测是或者否。此时我们选择”否”,则上面的那个错误就不会出现了。或者将指针变量初始化为nullptr,也可以解决。...

2020-08-06 15:21:24 103

原创 C++ 判断网络是否连通

使用InternetGetConnectedState这个API判断网络是否连通详细说明:虽然MSDN中定义了7种参数类型,但实际中wininet.h头文件中只对四种类型的值进行了定义7种类型:INTERNET_CONNECTION_LAN       局域网INTERNET_CONNECTION_MODEM     拨号上网INTERNET_CONNECTION_PROXY      代理INTERNET_CONNECTION_MODEM_BUSY  代理被占用INTER...

2020-08-05 16:21:02 219

原创 MFC fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC

修改配置属性--》常规---》MFC的使用 在静态库中使用 MFC调试程序时出现以下问题:d:\program files (x86)\microsoft visual studio 10.0\vc\atlmfc\include\afx.h(24): fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please ...

2020-08-05 11:16:40 84

原创 win10系统下查看python的安装路径

2020-07-30 15:45:34 136

原创 关于Python: ImportRequestsError: No module named ‘requests‘解决方法

运行Python程序时,出现下面错误:import requests ModuleNotFoundError: No module named ‘requests’原因:没有导入requests库解决办法:开始菜单选择运行,输入cmd运行,然后cd命令进入到python安装目录下的Scripts文件中,然后输入pip install requests,就好了。或者 打开Python文件的安装目录,进入Scripts文件中,按住Shift键+鼠标右击如...

2020-07-30 15:41:00 28

原创 使用PyCharm2019创建新项目

1、创建新项目:File ----> New Project -----> Pure Python -----> 在Location输入项目名称 ---->Create 即成功创建新项目2、创建一个Python 文件流程在Test目录右击,进入New 的子菜单内找到Python File 单击创建,创建文件协商main,表示我们创建了一个Test 文件...

2020-07-30 15:38:47 486

原创 C++ 异常处理

C++ 异常处理涉及到三个关键字:try、catch、throwthrow: 当问题出现时,程序会抛出一个异常。这是通过使用 throw 关键字来完成的。 catch: 在您想要处理问题的地方,通过异常处理程序捕获异常。catch 关键字用于捕获异常。 try: try 块中的代码标识将被激活的特定异常。它后面通常跟着一个或多个 catch 块。如果有一个块抛出一个异常,捕获异常的方法会使用 try 和 catch 关键字。try 块中放置可能抛出异常的代码,try 块中的代码被称为保护代码。使用

2020-07-30 11:00:04 36

原创 C++ 文件和流

文件读取流和文件写入流数据类型 描述 ofstream 该数据类型表示输出文件流,用于创建文件并向文件写入信息 ifstream 该数据类型表示输入文件流,用于文件流读取信息 fstream 该数据类型通常表示文件流,且同时具有ofstream和ifstream两种功能,这意味着它可以创建文件,向文件写入信息,从文件读取信息。 要在C++中进行文件处理,必须在C++源代码文件中包含头文件<iosttream...

2020-07-30 10:34:05 39

DeleteDirTest.zip

C++获取文件创建时间、文件最后属性时间、删除文件、删除目录、删除指定文件夹目录中指定天数全部文件(包含文件夹)源码

2020-06-03

VS2012 + Opencv2.4.9实现PNG背景透明,图片叠加,图片读取,显示

基于MFC对话框Opencv实现PNG背景透明,图片叠加,图片读取,显示。

2019-09-05

VS2012 + Opencv2.4.9实现单张人脸检测及人脸比对

基于VS2012MFC对话框 + Opencv2.4.9 实现单张人脸检测及人脸比对。可运行,加载图片即可测试。

2018-11-22

空空如也

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

TA关注的人 TA的粉丝

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