自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 git 入门常用命令

远程仓库地址: https://gitee.com/li-fusheng-koj/li-fushengs-private-library.git。工作区 ----git add----->暂存区-----git commit----->本地仓库。本地仓库 ----git reset---->暂存区----git checkout---->工作区。与远程仓库关联的相关操作。

2026-02-02 11:32:08 51

原创 Win32API以及对话框

WM_SETTEXT---------------设置子窗口的文本内容。常用于设置按钮、编辑框、等。BM_SETSTATE ---------------- 设置按钮的按下或弹起状态。WM_GETTEXT ------------------ 获取按钮的当前显示文本。BN_PAINT ------------------- 按钮需要绘制自身时。BN_PAINT -------------------- 按钮需要绘制自身时。WM_SETTEXT ------------------ 设置按钮的显示文本。

2026-01-13 15:14:02 935

原创 【无标题】

2026-01-09 18:28:38 226

原创 Win32编程

窗口句柄:HWND hwnd窗口类名:const wchar_t CLASS_NAME[] = L"windows class";窗口结构体: WNDCLASS wc;重要函数和接口窗口过程函数:LRESULT CALLBACK WindowProc(HWND hwnd, //句柄UINT uMsg, //消息标识符WPARAM wParam, //附加消息的特定信息//附加消息的特定信息窗口主函数:In。

2026-01-08 18:13:51 894

原创 Qt ----- 各类字符串解析

QDomElement 继承自 QDomNode,

2025-12-29 00:44:36 677

原创 c++多线程 线程池的实现

【代码】c++多线程 线程池的实现。

2025-12-26 20:28:51 190

原创 TCP服务器并发编程

基于多线程的TCP服务器并发程序。

2025-12-25 00:57:55 214

原创 Qt ----- QT线程

QThread类表示线程继承QThread,重写 run 方法。调用 start 开始执行。mythread.hQ_OBJECTpublic://模拟数据库查询qDebug()<<"当前线程ID = "<<this->currentThreadId();i<5;i++)qDebug()<<"正在查询数据库";sleep(1);qDebug()<<"查询结束";widget.cpp线程停止执行。我们可以在run函数中设置停止标志位,然后实现stop()

2025-12-22 22:33:23 332

原创 TCP网络通信

【代码】TCP网络通信。

2025-12-22 00:31:44 178

原创 多路IO复用

我们通过select函数,将一系列的文件描述符集合传递拷贝到内核中,然后内核会生成一个线性表用于存储,然后我们去循环遍历这个线性表,当检测到有文件描述符状态发生变化,就会传出对应的三个集合。第一章我们了解了TCP服务端通信需要两种文件描述符,实际在通信的过程当中一个服务端可能需要与多个客户端通信,所以需要 N 个用于通信的文件描述符和 1 个用于监听的文件描述符。一个是用于监听的文件描述符,一个是用于通信的文件描述符。左侧有两大块内存,一个是负责监听客户端连接的部分,另一个是负责和客户端通信的部分。

2025-12-21 21:27:25 451

原创 MySQL数据库 ------ 事务

666

2025-12-21 15:46:28 169

原创 Qt------信号槽,属性,对象树

看上述代码,现在有这样的一个问题,当我用 emit 发出信号后,我是执行完槽函数之后再执行renameFile函数呢,还是发出信号后立即就执行renameFile函数呢?在 Qt 中,disconnect函数用于断开信号与槽之间的连接,以阻止信号发射时调用相应的槽函数。QSignalMapper 是一种map容器,它的主要作用是能够建立一个对象的映射关系,这个对象是用来发送信号的对象,这里使用nullptr作为接收者和槽函数的参数,表示断开object的destroyed信号与所有连接的槽的连接。

2025-12-18 01:39:56 869

原创 Qt-----QSS样式表

外边框(MARGIN),边框(BORDER),内边框(PADDING),内容(CONTENT)在使用样式表时,每个部件都被视为一个包含四个同心矩形的盒子:外边距矩形、边框矩形、内边距矩形和内容矩形。盒模型对此有更详细的描述。盒模型外边距位于边框之外。边框绘制在外边距和内边距之间。内边距位于边框之内,在边框与实际内容之间。内容是在我们去除外边距、边框和内边距后,原始部件或子控件剩余的部分。外边距、边框宽度和内边距属性的默认值均为零。在这种情况下,四个矩形(外边距、边框、内边距和内容)完全重合。

2025-12-16 19:12:40 957

原创 MYSQL数据库------多表查询

项目开发中,在进行数据库表结构设计时,会根据业务需求以及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本分为三种:

2025-12-16 01:23:16 237

原创 Qt----事件简述

事件是应用程序内部发生的事情或应用程序需要知道的外部事件的结果。事件和信号的区别:事件是由外部向内部,信号是由内部向外部。事件先发生,信号后发生。

2025-12-15 20:54:57 533

原创 Qt ---- Qt6.5.3 连接MySQL数据库

编译文件夹的路径为 : \Qt\6.5.3\Src\qtbase\src\plugins\sqldrivers\build\Desktop_Qt_6_5_3_MinGW_64_bit-Debug\plugins\sqldrivers。将这些文件复制粘贴到 Qt\6.5.3\mingw_64\plugins\sqldrivers 中以及 Qt\Tools\QtCreator\bin\plugins\sqldrivers 中。首先我们需要下载mysql数据库,此文章不展示如何下载mysql数据库。

2025-12-13 01:01:17 668

原创 MySQL数据库----数据处理函数,数据分组

【例子】【例】

2025-12-11 01:48:09 340

原创 MySQL数据库----通配符,正则表达式

用来匹配值的一部分的特殊字符。通配符本身实际时SQL的WHERE子句中有特殊含义的字符,SQL支持几种通配符。为了在句子中使用通配符,必须使用LIKE操作符。LIKE指示MySQL后跟的搜索模式利用通配符匹配而不是直接相等匹配进行比较。

2025-12-08 01:30:34 733

原创 c++设计模式

两个类,企鹅需要 “知道” “了解” 气候规律,才能进行相关的活动,当一个类 需要 “知道” 也就是需要通过另一个类的信息才能实现此类的功能的时候,这两个类就具有。聚合关系,是一种弱拥有关系,体现的是 A 对象可以拥有 B 对象,但 B 对象不是 A 对象的一部分。组合关系,表示强拥有关系,体现的是严格的部分与整体的关系,部分和整体的生命周期相同。在代码中可以表示为,一个类引用到另一个类的对象。

2025-11-13 23:00:51 246

原创 网络通信基础

1mac地址:标识网卡的id,理论上这个id全球唯一,此id为物理地址。2ip地址:标识主机的id,此id是虚拟的,会改变。一个ip将其分为子网id主机id。子网id和主机id需要和子网掩码一起来看。【例】10.1.1.2ip中被连续的1覆盖的位就是子网idip中被连续的0覆盖的位就是主机id所以:子网id:10.1.1主机:2网段地址:10.1.1.0广播地址:10.1.1.255所以ip地址的设置范围 10.1.1.1 ----> 10.1.1.254。

2025-10-31 00:10:00 183

原创 linux下文件操作函数

对文件进行相应的操作(open(),close(),write(),read() 等)。Linux中一个进程最多只能打开 NR_OPEN_DEFAULT (即1024)个文件,故当文件不再使用时应及时调用 close() 函数关闭文件。在程序运行起来后,打开其他文件时,系统会返回文件描述符表中最小可用的文件描述符,并将此文件描述符记录在表中。打开现存文件或新建文件时,系统(内核)会返回一个文件描述符,文件描述符用来指定已经打开的文件。,根据errno的值,解析出错误的原因。

2025-10-25 23:54:46 745

原创 linux进程与进程管理

1,先用命令 ps -ef | grep test 来查询此进程。我创造一个名为 test 的可执行文件,并且执行这个可执行。是linux中按照进程名批量控制进程的命令。ps命令可以查看进程的详细状况,常用选项。top命令用来动态显示运行中的进程。2,利用kill命令,杀死此进程。如上图所示进程号为2652。利用 killall命令。

2025-10-18 01:18:47 304

原创 linux GDB调试器

当程序崩溃后,GDB 会自动暂停并给出类似 “Program received signal SIGSEGV, Segmentation fault.” 这样的错误提示,此时在 GDB 命令行输入。当用gdb调试程序时,程序卡在某个断点处,但是我们想要继续运行程序时,需要在gdb状态下输入一些命令。clear filename:num: 删除源文件 filename 的第10行的断点。delete [range…]:删除指定的断点,其简写命令为d。: 程序开始执行,如果有断点,停在断点处。

2025-10-17 00:46:31 445

原创 linux静态库和动态库

静态库可以认为是一些目标代码的集合,是在可执行程序运行前就已经加入到执行码中,成为执行程序的一部分。按照习惯,一般以 “ .a ” 做为文件后缀名。

2025-10-16 01:11:46 130

原创 linux vim编辑器

末行模式 ---- wq , q , q!命令模式 ---- i , a ----> 编辑模式。编辑模式 ---- Esc ----> 命令模式。末行模式 ---- Esc ----> 命令模式。命令模式 ---- : ----> 末行模式。

2025-10-15 00:08:43 211

原创 linux软件安装和卸载与重定向

如果是通过浏览器或系统下载工具从软件官方网站下载的.deb 安装包,在大多数 Linux 系统中,默认会保存在当前用户主目录下的 “Downloads” 文件夹,即~/Downloads。一般情况下执行一条命令,命令的输出会显示在屏幕上。但是如果输出的内容太多就会刷屏,所以可以有另一种方法将命令的输出写入文件中。cat main.cpp > output.txt 将main.cpp文件的内容重定向输出到output.txt文件中。软件安装:sudo dpkg -i xxx.deb。

2025-10-14 00:36:08 335

原创 linux文件权限管理

只允许用户自己访问(所有者)所有者就是创建文件的用户。允许一个预先指定的用户组中的用户访问(用户组)用户的组合称为用户组。允许系统中的任何用户访问(其他用户)用户将自己的文件向系统内的所有用户开放。权限说明读权限(r):读取文件内容的权限。写权限(w):修改文件内容的权限。可执行权限(x):对文件而言,具有执行文件的权限。对目录而言,具有进入目录的权限。drwxrwxr-x 2 user2 user2 4096 7月 9 23:37 sqltest项说明d文件类型。

2025-10-13 00:13:29 382

原创 linux常用命令

如果不在当前目录下,则需要使用 “.” 和 “…” 前面代表当前路径,后面代表上一个目录。该手册分成很多章节(section),使用man时可以指定不同章节来浏览不同内容。man是linux提供的一个手册,包含了绝大多数部分的命令,函数使用说明。man -a passwd 浏览passwd所有相关的页。man -k passwd 搜索关键词passwd。相对路径是指目标目录相对于当前目录的位置。用法:rmdir [选项] 目录。绝对路径第一个一定是一个"/"man [选项] 命令名。

2025-10-09 22:57:19 270

原创 linux目录和命令介绍

shell命令解析器的作用:交互式地解释,执行用户输入的命令,将用户的操作翻译成机器可以识别的语言,完成相应功能。Ctrl + L : 自动清理,相当于 clear命令。Ctrl + Shift + N : 新建一个终端。Ctrl + Shift + = :放大终端字体。Ctrl + Shift + Q : 关闭窗口。Ctrl + Shift + V :粘贴。Ctrl + C : 中断终端操作。Ctrl + Shift +C :复制。移动到尾部:Ctrl + e。Tab :自动补齐命令。

2025-10-08 22:53:39 299

原创 MySQL数据库----多表查询

1,有两张表 emp , dept。

2025-07-17 00:43:01 476

原创 MySQL数据库----约束

1,概念:约束时作用域表中字段上的规则,用于限制存储在表中的数据。2,目的:保证数据库中数据的正确,有效性和完整性。

2025-07-15 23:12:23 243

原创 MySQL数据库----函数

MySQL中内置了很多字符串函数。

2025-07-15 22:43:00 192

原创 MYSQL数据库----DCL语句

ALTER USER ‘用户名’@‘主机名’ IDENTIFIED WTH mysql_native_password BY ‘新密码’;CREATE USER ‘用户名‘@’主机名’ IDENTIFIED BY ‘密码’;DROP USER ‘用户名’@‘主机名’;

2025-07-13 23:44:25 295

原创 C语言数据库编程

MYSQL *mysql, //已有MYSQL结构的地址。const char *host , //主机名或 IP 地址。const char *db , // 数据库名称。const char *user , //登录名。const char *passwd , // 密码。连接成功,返回 MYSQL。

2025-07-12 01:47:53 329

原创 linux环境下安装和配置MySQL数据库

2,安装MySql Server 使用apt安装MySQL服务器。4,安装MySQL C++ 连接器。2,设置MySQL开机自启动。3,安装MySQL开发包。1,启动MySQL服务。

2025-07-10 22:26:39 238

原创 c++实现序列化和反序列化

流的概念:若干个字节组成的字节序列,代表信息从源到目的地的流动。c++中存在流类体系。流类体系:用类实现的所有流操作。IO流:IO 流(Input/Output Stream)是计算机编程中用于处理数据输入和输出的抽象概念,它将不同数据源(如文件、网络、内存)和目标之间的数据传输抽象为 “流” 的形式,使得数据的读写操作统一化。IO 流是一种数据传输的抽象表示,它像 “管道” 一样,让数据从源头(输入流)流向目的地(输出流),而不必关心具体实现细节。

2025-07-06 18:00:44 726

原创 MySQL数据库----DQL语句

DQL英文全称是 Data Language(数据查询语言),数据查询语言,用来查询数据库中表的记录。查询关键字:SELECT。

2025-07-05 05:16:52 400

原创 MySQL数据库----DML语句

DML英文全称是(数据操作语言),用来对数据库中表的数据记录进行增删改操作。添加数据(INSERT)修改数据(UPDATE)删除数据(DELETE)

2025-07-03 23:55:53 742

原创 MySQL数据库--SQL DDL语句

创建:CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET字符集] [COLLATE排序规则];删除: DROP DATABASE [IF EXISTS] 数据库名;查询当前数据库: SELECT DATABASE();查询:SHOW DATABASES;使用: USE 数据库名;

2025-06-30 22:29:21 259

原创 数据库引言

DDL语句: 数据定义语言,用来定义数据库对象(数据库,表,字段)DCL语句: 数据控制语言,用来创建数据库用户,控制数据库的访问权限。3,MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。DML语句: 数据操作语言,用来对数据库表中的数据进行增删改。单行注释: – 注释内容 或 #注释内容(MySQL特有)2,SQL语句可以使用空格 / 缩进来增强语句的可读性。DQL语句: 数据查询语言,用来查询数据库中表的记录。1,SQL语句可以单行或多行书写,以分号结尾。数据库:存储数据的仓库。

2025-06-29 20:01:48 257

空空如也

空空如也

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

TA关注的人

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