- 博客(30)
- 资源 (7)
- 问答 (1)
- 收藏
- 关注
原创 Linux:阻塞/非阻塞读终端
阻塞读终端:block指当串口输入缓冲区没有数据的时候,read函数将会阻塞在这里,移植到串口输入缓冲区中有数据可读取,read读到了需要的字节数之后,返回值为读到的字节数#include <unistd.h>#include <stdlib.h>int main(void){ char buf[10]; int n; n = read(STDIN_FILE...
2019-04-22 18:03:02 654
原创 Linux:内排序(插入排序,选择排序,交换排序,归并排序,基数排序)
编译环境:Linux 10.04 LTS GCC1.插入排序:#include <stdio.h>#include <stdlib.h>#include <string.h>//交换void swap(int *a, int *b){ int tmp; tmp = *a; *a = *b; *b = tmp;}//打印一个数组...
2019-04-22 17:44:21 241
原创 Linux:消息队列
消息队列提供了一种从一个进程向另一个进程发送数据块的方法。每个数据块都存在一个类型,接收进程可以独立地接收含有不同类型的数据。可通过发送消息来避免有名管道的同步和阻塞问题。消息队列与有名管道一样,每个数据块都有长度限制#include <sys/msg.h>#include <sys/types.h>#include <sys/ipc.h>#incl...
2019-04-22 17:25:21 267
原创 KMP算法
KMP算法要解决的问题就是在字符串(也叫主串)中的模式(pattern)定位问题。说简单点就是我们平时常说的关键字搜索。模式串就是关键字(接下来称它为T),如果它在一个主串(接下来称为S)中出现,就返回它的具体位置,否则返回-1(常用手段)。假如是在串“SSSSSSSSSSSSSA”中查找“SSSSB”,设置两个指针i,j,比较到最后一个才知道不匹配,然后其中的i回溯,这个的效率是显然是最低的。...
2019-04-21 17:37:06 137
原创 算法之美:0-1背包问题(动态规划法,回溯法,贪心法)
1.动态规划法:求解决策过程的最优化#include <stdio.h>#define CAPACITY 10 //背包的容量#define N 5 //n为物品的个数int max(int a, int b){ return a > b ? a :...
2019-04-21 17:18:19 1672
原创 Qt:组合键的实现
方案:参考Qt帮助文档,重写KeyPressEvent().在qnamespace.h中,枚举了KeyBoardModifier enum KeyboardModifier { NoModifier = 0x00000000, ShiftModifier = 0x02000000, ControlModif...
2019-04-21 17:00:45 3160
原创 Qt:通过QLabel控件来显示实时日期时间
头文件需添加:#include <QTimer>构造函数中://日期/时间显示QTimer *timer = new QTimer(this);connect(timer,SIGNAL(timeout()),this,SLOT(timerUpdate()));timer->start(1000);定义成员函数timerUpdate()实现用户界面显示时间:vo...
2019-04-21 16:41:47 8269 6
原创 Qt:实现定时关机功能
编译环境:win10(64bit),Qt5.12.2,Qt Creator 4.8.6在Spin Box 中设置剩余关机的时间,再选择Check Box开启/关闭定时关机。通过Check Box转到槽函数实现具体定时关机功能void setting::on_cb_timed_shutdown_clicked(bool checked){ if(checked) { ...
2019-04-21 16:30:11 1108
原创 C++ 工资发放系统(附UML图)
编译环境:win10(64bit),VS2017UML:main.cpp#include <iostream>using namespace std;#include "employee.h"#include "salariedemployee.h"#include "commissionemployee.h"#include "basepluscommission...
2019-04-21 16:16:45 2252 2
原创 C++ 菱形继承
C++支持多重继承,也就是菱形继承,它是指两个子类继承了同一个父类,而又有子类同时继承了这两个子类。#include <iostream>using namespace std;class A{public: A(){cout << "A" << endl;} ~A(){cout << "~A" << endl...
2019-04-21 15:57:01 174
原创 位运算训练
一,请编写一个 c 函数,该函数给出一个字节中被置为 1的位的个数#include <stdio.h> int fun(char c){ int i, count = 0; for (i = 0;i < 8;i++) { if (c & 1) { count++; } c >>= 1; } re...
2019-04-21 15:30:31 230
原创 数据结构:C语言 走迷宫---栈/队列实现
走矩阵迷宫,0代表可以走,1代表障碍物栈实现:#include <stdio.h>#define MAX_ROW 5#define MAX_COL 5struct point{ int row; int col;};struct point stack[512];int top = 0;void push(struct point p){...
2019-04-21 14:40:42 2877
原创 数据结构:C语言实现二叉树及相关操作(递归,迭代)
#include <stdlib.h>#include <stdio.h>#include <unistd.h>typedef struct node{ int item; struct node *left; struct node *right;}node;node *stack[512];int top = 0;...
2019-04-20 20:36:06 380
原创 数据结构:回调函数
摘自百度百科:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应源码:main.c#include <stdio.h>#include "callback.h"vo...
2019-04-20 19:25:01 354
原创 数据结构:双向链表
doublyinkedlist.h#ifndef DOUBLYLINKEDLIST_H#define DOUBLYLINKEDLIST_Htypedef struct node *link;struct node{ unsigned char item; link prev, next;};link make_node(unsigned char item);void fr...
2019-04-20 17:07:15 186
原创 ZOJ Problem Set - 1002
Fire NetTime Limit: 2 Seconds Memory Limit: 65536 KBSuppose that we have a square city with straight streets. A map of a city is a square board with n rows and n columns, each representing a st...
2019-04-20 16:54:44 197
原创 Qt:warning: control reaches end of non-void function
编译环境:Qt5.12.2先看一下C++11中Lambda表达式的用法(节选自百度百科):ISO C++ 11 标准的一大亮点是引入Lambda表达式。基本语法如下:[capture list] (parameter list) -> return type { function body }其中除了“[ ]”(其中捕获列表可以为空)和“复合语句”(相当于具名函数定义的函数体),......
2019-04-20 16:23:43 4716
原创 Qt:基于TCP/IP协议的服务器客户端的实现
在服务器和客户端的.pro文件中均添加:QT += network客户端需添加头文件#include <QTcpSocket>#include <QHostAddress>#include <QMessageBox>服务器需添加头文件:#include <QTcpServer>#include <QTcpSoc...
2019-04-20 01:53:04 1211
原创 Qt5:读写配置文件
setting.h中public: bool writeInit(QString group, QString key, QString value);//写入路径存储 bool readInit(QString group, QString key, QString &value);//读取存储路径private:QString m_initPath;settin...
2019-04-20 00:20:34 1870
原创 Qt5:实现开机自启动功能
windows下开机自启动的实现方式:在注册表中添加启动项目//当前用户启动项,切换到其他用户失效 QSettings reg("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",QSettings::NativeFormat); //HKEY_LOCAL_MACHINE\SOFTWARE...
2019-04-19 16:52:56 1004
原创 Qt:实现顶层窗体圆角
在构造函数中添加以下代码,使用一个BITMAP来实现窗体绘画: setWindowFlags(Qt::FramelessWindowHint); QBitmap bmp(this->size()); bmp.fill(); QPainter p(&bmp); p.setPen(Qt::NoPen); p.setBrush(Qt::black)...
2019-04-19 16:49:11 487
原创 Qt:Error:No rule to make target ‘ .. /../??.png‘,needed by ‘debug/qrc_resource.cpp‘
编译环境:win10(64bit) Qt5.12.2 Qt Creator 4.8.6写项目过程中,删除了一些后期没有用的资源文件中的图片,再次运行就出现了以上的错误解决方案:1.将.pro文件中的RESOURCES += 以及后面的.qrc 文件删除并CTRL+S2.删除本地项目文件夹中的.qrc 文件和.user文件以及debug产生的文件夹3.将界面文件的样式表中用到错误信息...
2019-04-19 15:27:50 18329 20
原创 Qt :sqlite数据库相关操作
相关编译环境:win10(64bit) Qt5.12.2 sqlite3 Qt Creator 4.8.61.在.pro文件中,QT += 后添加sql,如下:2.打开/连接数据库所需头文件:#include <QSqlError>#include <QSqlDatabase> QSqlDatabase db; db = QSqlDatabas...
2019-04-19 15:12:52 351 1
原创 Qt实战项目应遵循的三层架构(简)
业务思想:高内聚,低耦合一,表现层(UI):用户界面二,业务逻辑层(BLL):处理数据业务逻辑三,数据访问层(DAL):直接操作数据库,实现增删查改UI ⇄ Model ⇄ BLL ⇄ Model ⇄ DAL...
2019-04-19 14:55:05 5238
原创 Qt界面样式表:仿TIM登陆界面
TIM登陆界面背景为3D,此处不做该项考虑,只截为普通图片*{font-family:cursive,sans-serif;}QWidget{ border-radius:5px;}/*用户框*/QLineEdit#le_name{ background:white; padding-left:5px ; padding-top:1px ; bor...
2019-04-19 14:41:46 1641
原创 Qt :error: member access into incomplete type‘UI::XXX‘
原因:可能是将上一次编译产生的debug文件删除造成的解决方案:重新编译后关闭当前项目文件,重新打开项目即可消除该错误提示
2019-04-19 14:31:36 6404
原创 Qt:程序异常结束,并crashed
开发环境:win10(64bit),Qt5.12.2,Qt Creator 4.8.6解决方案:1.在系统环境变量中添加编译好的bin目录和lib目录,即加入程序所需的DLL2.去除影子创建3.查看项目的.cpp文件中,是否将某些语句写在ui->setupUi(this);之前...
2019-04-19 14:27:04 10783 3
原创 QT5.12 无法添加槽函数 查找/添加槽错误
版本说明:Win10(64bit)、Qt5.12.2、Qt Creator4.8.6无法添加槽函数,导致信号发出后槽函数接收不到信号原因1:未在类定义中添加Q_OBJECT原因2:信号或槽指向的对象未实例化原因3: 多处包含相同的"ui_XXX.h"头文件查找/添加槽错误在UI文件中右键转到槽发生错误,弹窗提示如下:查找或添加槽错误The class containing "UI:...
2019-04-19 13:49:13 11576 5
原创 qt:qt5.12警告消除大法之 warning: zero as null pointer constant
C语言中,使用NULL表示空指针NULL实际上是一个void *的指针,然后把void *指针赋值给int *指针的时候,隐式转换成相应的类型例如以下代码:int *i = NULL;编译器提供的头文件如以下定义NULL::#define NULL (void *(0))C++中,使用0表示空指针C++中不能将void *类型的指针隐式转换成其他指针类型,为了解决空指针,C++中...
2019-04-19 13:24:40 9194
windows打流工具IxChariot
2023-11-09
紫光展锐download、SIMBA、BBAT教学视频
2020-11-14
国产编程语言“木兰”编译器
2020-01-17
关于宏定义的code check error
2021-07-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人