- 博客(98)
- 资源 (5)
- 收藏
- 关注
原创 CSV格式单元格中显示逗号
直接将整个单元格内容使用双引号包起来就可以在单元格里面显示逗号了。注意,只将单元格中的逗号使用双引号包起来是不可以的。张三,"(10,20)",20。表格中包含逗号的内容。
2024-09-12 08:59:05 185
原创 【无标题】
如果放开注释代码pOBj->moveToThread(qApp->thread());那么FunTest()在子线程中执行,回调的槽函数在主线程中执行,也可以在槽函数中显示窗口了。启动Test线程,FunTest和槽函数都在子线程执行。
2024-09-11 19:22:37 146
原创 QSocketNotifier: Socket notifiers cannot be enabled or disabled from another thread
如果建立tcp连接的套接字所在的线程是A,然后你通过B线程调用了这个已经建立连接的套接字,这种情况在Qt中会发现是write()函数返回发送的数据字节数量,但是接收端却收不到数据,并且导致已经连接的套接字不可以再发送数据了。另外在Qt通过信号槽传递字节数组时候最后使用QByteArray类型,而不要使用char*类型作为信号槽的传递参数,不然有时候会发现槽函数接收到的数据和信号发送的数据不一致。第一种:通过信号和槽连接的第五个参数,将执行发送的过程转移到正确发送的线程。
2023-11-23 22:43:00 2763
原创 win7安装visual studio 2015出现安装包丢失或损坏
查看有没有选中的两个证书,如果没有需要从其他电脑导入,然后直接点击安装界面重试,即可继续安装。win+r 输入 certmgr.msc。
2023-06-05 22:00:19 734
原创 可变长参数
目录为什么可以实现可变长参数?程序的内存布局栈函数调用惯例#include <stdio.h>#include <stdarg.h>void MultiArg(int prev_param, ...){ va_list arg_ptr; //va_start将arg_ptr设置为传递到此函数的参数列表中的第一个可选参数。参数arg_ptr必须拥有va_list类型 //在首次使用va_arg前必须使用va_start //va_arg从...
2022-05-24 17:36:00 217
原创 原始套接字实现UDP程序
目录IP_HDRINCLUDP头部UDP伪头(为了方便计算UDP的校验和)#pragma pack(1)#define WIN32_LEAN_AND_MEAN#include <WinSock2.h>#include <WS2tcpip.h>#include <stdio.h>#include <stdlib.h>#pragma comment(lib,"ws2_32.lib")#define MAX_MESSAGE 4
2022-05-13 20:31:58 1250
原创 使用原始套接字实现ping操作
目录使用原始套接字实现ICMP协议,达到网络状态检测目的IPv4中使用ICMP协议的头结构ICMP头结构IPv4头结构使用原始套接字实现ICMP协议,达到网络状态检测目的我们经常用ping来判断一个特定的主机是否处于活动状态,并且是否可以通过网络访问到。通过生成一个ICMP回应请求(Echo Request),并将其定向之打算查询的目标主机,便可知道自己是否能成功地访问到那台机器。当然,这样做并不能担保一个套接字客户机能与那个主机上的某个进程顺利地建立连接(远程...
2022-05-13 20:18:59 1457
原创 netstat查看网络状态(windows) tasklist 查看进程
查看所有端口网络状态C:\Users\Administrator>netstat -ano活动连接 协议 本地地址 外部地址 状态 PID TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4 TCP 0.0.0.0:135 0.0.0.0:0 L...
2022-05-13 19:59:51 3718
原创 WSAGetLastError错误列表
(0)-操作成功完成。(1)-功能错误。(2)- 系统找不到指定的文件。(3)-系统找不到指定的路径。(4)-系统无法打开文件。(5)-拒绝访问。(6)-句柄无 效。(7)-存储控制块被损坏。(8)-存储空间不足,无法处理此命令。(9)-存储控制块地址无效。(10)-环境错 误。(11)-试图加载格式错误的程序。(12)-访问码无效。(13)-数据无效。(14)-存储器不足,无法完成此 操作。(15)-系统找不到指定的驱动器。(16)-无法删除目录。(17)-系统无法将文件
2022-05-13 17:56:35 2852
原创 UDP广播
服务端#define _WINSOCK_DEPRECATED_NO_WARNINGS#include <WS2tcpip.h>#include <WinSock2.h>#include <iostream>using namespace std;#pragma comment(lib,"ws2_32.lib")int main(){ WSADATA wsaData = {0}; WSAStartup(MAKEWORD(2, 2), &ws
2021-12-01 15:17:29 1280
原创 UDP组播
服务端#define _WINSOCK_DEPRECATED_NO_WARNINGS#include <WS2tcpip.h>#include <WinSock2.h>#include <iostream>using namespace std;#pragma comment(lib,"ws2_32.lib")int main(){ WSADATA wsaData = { 0 }; WSAStartup(MAKEWORD(2, 2), &
2021-12-01 15:15:24 1456
原创 UDP单播
服务端#define _WINSOCK_DEPRECATED_NO_WARNINGS#define _CRT_SECURE_NO_WARNINGS#include <WinSock2.h>#include <WS2tcpip.h>#include <stdio.h>#include <iostream>#include <conio.h>#include <stdlib.h>#include <algo
2021-12-01 15:13:35 1695
原创 TCP模式的一个服务器和多个客户端通信
服务端#define _WINSOCK_DEPRECATED_NO_WARNINGS #define _CRT_SECURE_NO_WARNINGS#include <WinSock2.h>#include <WS2tcpip.h>#pragma comment(lib,"ws2_32.lib")#include <stdio.h>#include <Windows.h>#include <conio.h>#include.
2021-12-01 15:07:55 4192
转载 根据多个点绘制闭合的曲线
代码如下:#ifndef GRAPHICS_H#define GRAPHICS_H#include <QPainter>#include <QPoint>#include <QColor>#include <QVector>class graphics{public: graphics(); //step是步长,即t每次的递增量,traceSet返回本曲线的所有生成点 void getBezier3(co..
2021-05-13 14:17:52 1748
原创 使用以QObject为基类的对象为野指针或空指针
Qt 中使用以QObject为基类的指针对象,如果该指针为nullptr或为野指针,则会提示如下错误由于接收到来自操作系统的信号,下位机停止运行段故障
2021-04-15 09:47:49 348
原创 ArcMap for Qt
https://blog.csdn.net/weixin_43172531/article/details/106886148https://developers.arcgis.com/qt/http://www.doc88.com/p-499333868697.html
2021-03-22 22:33:51 216
转载 linux 安装Qt出现qt.qpa.plugin:Could not load the Qt platform plugin “xcb“问题
https://www.jb51.net/article/193024.htm
2021-03-16 10:13:46 1266
原创 Linux 安装 Qt
linux 安装 qthttps://blog.csdn.net/u013934107/article/details/80712418需要注意的是断开网络安装软件就不会出现输入邮箱的过程了安装好之后运行文件在/opt/Qt5.12.10/Tools/QtCreator/bin目录下,但是每次启动都需要找到这个目录,然后运行qtcreator,很不方便接下来就需要配置环境变量,可以在终端中直接输入qtcreator命令启动程序1、进入根目录的 usr/bin 路径下,新建一个文本文档,这
2021-03-12 16:44:22 753
原创 多线程中条件变量的使用
多线程中条件变量的使用如果想要实现在一个线程中需要一直等待某种条件被满足的时候,该线程才会进行处理,这个时候可以使用条件变量的方式来实现一个线程中进行wait,另一线程中当条件满足时发出通知notify,这样就不需要一直进行while循环进行判断条件了例如生产者和消费者情况:#include <iostream>#include <mutex>#include <vector>#include <thread>std::mutex
2021-03-03 10:59:55 362
原创 C++中的数组长度可以是变量吗?
C++中的数组长度可以是变量吗?#include <stdio.h>void fun(int num){ int array[num]; array[0] = 1; array[40] = 666; printf("funArray=%x\n",array); printf("funArraySize=%ld\n",sizeof(array)); printf("%d\n",array[0]); printf("%d\n",array[40]); printf("fu.
2021-03-02 14:34:02 2523
原创 遍历一次单向链表实现链表翻转
#include <iostream>struct Node{ int value; Node* pNext;};//尾插法void InsertNode(Node* pHead, int value){ Node* pNewNode = new Node(); pNewNode->value = value; Node* pTemp = pHead; pNewNode->pNext = nullptr; while(pTemp->pNext...
2020-11-04 15:29:00 155
原创 将一句话中的单词位置翻转
#include <iostream>#include <cassert>/* *一句话中的单词倒置 * *I am chinese *倒置后: *chinese am I */void StringWorldReverse(char* str){ assert(str != nullptr); int i = 0, j = strlen(str)-1; //首先进行全盘翻转 while(i<j) { char temp = str[i.
2020-11-04 15:14:09 343
原创 strcpy()函数实现
#include <iostream>#include <cassert>char* Strcpy(char* strDest,const char* strSrc){ assert(strDest != nullptr && strSrc != nullptr); char* tempStr = strDest; while(*strSrc != '\0') { *strDest++ = *strSrc++; } *strDest = '\.
2020-11-04 15:12:17 423
原创 计算一个字符串中有重复且最长的子串
#include <iostream>#include <vector>#include <string>using namespace std;/* *计算一个字符串中的有重复的最大字串 *ceeabcdabjcabceg *得出的有重复的最大子串为abc *///void FindSubStr(int startPos,)int main(){ string str = "ceeabcdabjcabc1234eg1234";...
2020-11-04 14:57:21 1303
原创 0-1背包问题
需要判断的条件就是当前这个物品我是放入背包中划算,还是不放入划算情况1:放入了该物品总价值 = 放入该物品的价值 + 背包剩余容量可放入的最大价值情况二:没有放入该物品总价值 = 前n-1件物品的价值因为前n-1件物品的最优解是已经知道了的,所以只需要比较这两种情况就可以知道当背包容量为m时,前n件物品的可放入背包的最优解,那么从n=0、1....开始的情况是很简单的,很容易获取到,所以后面的大容量多物品只需要借助前面的已知最优解的基础上就很容易得到其最优解。#includ.
2020-11-02 16:29:26 176
原创 堆操作
需要知道的:堆肯定就是完全二叉树如果双亲结点为在数组的下标i,那么左右孩子结点分别为:2*i+1、2*i+2如果孩子结点为j,那么其双亲结点为(j-1)/2构建堆结构、删除堆元素进行【下沉】操作插入元素进行【上浮】操作如何将该数组构建成一个小顶堆结构?int arr[] = {15,12,17,30,50,20,60,65,4,19};原始结构:第一步:取原始的堆结构中的最后一个非叶子结点【i】,将【i】和【2*i+1】和【2*i+2】的元素进行比较,如果有比【i】元素小
2020-11-02 15:37:53 314
原创 程序员的自我修养
直接将应用程序运行在物理内存上存在的问题:1、 地址空间不隔离2、 内存使用效率低3、 程序运行地址不确定MMU(内存管理单元)将虚拟内存映射到物理内存上线程调度:不断在处理器上切换不同线程的行为称为线程调度线程同样拥有至少三种状态:运行就绪等待处于运行中线程拥有一段可以执行的时间,这段时间称为时间片(Time Slice),当时间片用尽的时候,该进程将进入就绪状态。Windows中原子操作的APIInterlockedExchange //原
2020-10-13 10:36:30 275
win32迷你音乐播放器
2018-09-15
经典俄罗斯方块
2018-01-07
C语言链表和文件实现的超市管理系统
2018-01-07
C语言实现的多关卡经典推箱子小游戏
2018-01-07
基于Asp.net的贴吧课程设计
2016-12-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人