扳手的海角
这个作者很懒,什么都没留下…
展开
-
352_C++_管理用户登录计数器的类,其中有定时器m_timer操作,定时修改【登录锁定时间】和【错误次数】
async_wait:boost::asio::steady_timer 的成员函数,启动一个异步等待操作,当定时器过期时调用指定的回调函数。这里指定的回调函数是 std::bind(&NetLoginCounter::on_timer, this) 创建的函数对象。异步操作:异步操作是指不阻塞当前线程,等待某个事件(例如定时器过期)发生时,通过回调函数通知主程序。Boost.Asio 提供了大量支持异步操作的工具。原创 2024-07-14 16:28:34 · 42 阅读 · 0 评论 -
348_C++_find_if应用,查找过程是通过一个lambda表达式完成,查找容器中参数和[传入参数]有无相等参数
定义了一个类型别名PairList作为std::list的实例化,该std::list存储std::pair类型的元素。然后,它创建了一个PairList类型的变量_valuePairs,并使用这个列表通过 find_if 来查找一个特定的整数值对应的字符串原创 2024-06-14 15:49:54 · 73 阅读 · 0 评论 -
346_C++_根据传入枚举,查找map1中string类型value(例如:字符1),根据map1中value,提取map2中value(例如:key:字符2、value:字符3)【函有分包操作】
一整套流程:URL、证书验证,通过http的curl方式连接外部info文件获取文件大小,然后http方式获取文件data,然后转成json形式,方便获取info中对应字段的value。原创 2024-06-11 20:52:20 · 45 阅读 · 0 评论 -
345_C++_共享缓冲区管理类shared_buffer
定义了一个名为shared_buffer的类,用于管理共享缓冲区。原创 2024-06-09 17:09:24 · 91 阅读 · 0 评论 -
343_Python_读取视频帧中的负数编号,花屏帧
注意预防键值对被覆盖,使用 get 方法尝试获取 'minus' 、'frame_no'键的值,并检查它是否不是 None 并且小于0【读取一帧数据:14:29:53, type:P, encode_type:7, w:432, h:1536, real_no:34512, frame_no:1, frame_size:141, time:73770, pts:73770, hide:0, ref_frame:1, offset: 41, w-h:0-0, nal(1 )】原创 2024-05-24 11:29:14 · 52 阅读 · 0 评论 -
339_C++_【分包】规定每次文件读取数据大小,多次传输,传输次数:data总大小(除以)单次读取大小
【代码】339_C++_规定每次文件读取数据大小,多次传输,传输次数:data总大小(除以)单次读取大小。原创 2024-05-20 15:28:27 · 137 阅读 · 0 评论 -
338_Python_检索指定路径下所有文件中的中文字符,并保存到指定文件中(可以是xlsx、CSV、txt类型的文件)
2、main中判断路径存在否,不存在直接退出,存在,判断保存文件名存在否;指定的保存文件名不存在,创建默认文件名,存在开始执行读路径下全部文件操作。3、遍历指定目录,显示目录下的所有文件名,目录路径 root 和文件名 file 需要拼接成文件的完整路径,然后开始读取当前文件内容。双引号字符开头的,是把字符组成字符串,然后判断是不是中文字符+有没有保存过,最后才是正式保存。5、findChinaStr中文字符保存函数中,同样需要判断,判断是不是。的直接跳过,然后才开始对每行中的中文字符进行保存。原创 2024-05-17 15:20:00 · 262 阅读 · 0 评论 -
336_C++_ImageBuffer类管理ImagesCache类,ImagesCache负责在进程地址空间中映射给定大小区域,处理较大数据的缓存和缓冲
ImagesCache 类负责管理图像数据的缓存节点, ImageBuffer 类则作为图像的缓冲区。它隐藏了缓存实现的细节,只暴露必要的接口,通过将缓存管理和缓冲管理分离到不同的类中,可以更容易地修改或扩展其中一个类,而不会影响另一个类的功能。原创 2024-05-15 11:39:00 · 82 阅读 · 0 评论 -
335_C++_传入自定义数量参数,通过位移,生成唯一标识符key,通过函数返回值,看是占据32位还是64位
通过位移操作和按位或运算,我们将这些参数组合成一个64位或者32位的整数,作为唯一标识符key返回原创 2024-05-14 16:02:51 · 64 阅读 · 0 评论 -
334_C++_std::bind中使用shared_from_this()
通常是为了确保绑定的成员函数在被调用时,其所属的对象(即this指针所指向的对象)仍然有效。这是因为std::bind会创建一个新的可调用对象,该对象可能在其生命周期内`异步地`或在不同的上下文中被调用原创 2024-05-14 11:09:51 · 152 阅读 · 1 评论 -
333_C++_【分包】编写一个go函数每次从文件中读取固定大小数据,且go作为回调,传递给其他函数中,多次调用,完成逐块传输数据
m_filesize是数据总大小,每次fread固定sizeof(m_databuf)大小,len得到每次读取字节数,读取后m_filesize -= len,当m_filesize原创 2024-05-13 15:54:07 · 82 阅读 · 0 评论 -
331_C++_使用 poll 系统调用函数,用于监视文件描述符(fd)的状态,以确定它是否准备好进行读或写操作
使用 poll 系统调用的函数,监视文件描述符fd的状态,以确定它是否准备好进行读或写操作。函数 Select2 接受一个文件描述符 fd、一个布尔值 send 和一个超时时间 milliseconds 作为参数原创 2024-05-13 09:23:02 · 328 阅读 · 0 评论 -
330_C++_HTTP_登录login使用CURLOPT_HEADERFUNCTION获取头数据token和cookie,用于下次API调用curl中CURLOPT_HTTPHEADER的使用
CURLOPT_HEADERFUNCTION是libcurl库中的一个选项,用于设置自定义的header处理函数。libcurl是一个功能强大的库,用于在网络上进行各种类型的传输,包括HTTP、FTP等1。当libcurl发送HTTP请求时,它会将请求头发送到服务器。CURLOPT_HEADERFUNCTION选项允许你自定义处理这些header数据的方式,例如解析、修改或记录它们1。原创 2024-05-10 15:49:50 · 66 阅读 · 0 评论 -
328_C++_HTTP_HTTP协议传输data数据,为什么要进行base64编解码操作?
HTTP协议是基于文本的。这意味着它主要处理字符数据,而不是二进制数据。发送二进制数据时,将其转换为文本格式,数据就可以作为文本在HTTP协议中传输。原创 2024-05-07 11:24:43 · 300 阅读 · 0 评论 -
326_C++_读文件data到buffer中,拷贝文件、删除文件及目录,都使用函数,不用cmd命令行
removeDir、CopyDirectory、CopyFile :自定义函数,fread、fwrite使用C函数原创 2024-05-06 14:15:23 · 75 阅读 · 0 评论 -
324_C++_HTTP_curl-post连接,设置TCP连接为长连接
HTTP的POST方法是一种用于向指定的资源提交数据,以请求服务器进行处理的方式。它是HTTP协议中的一种请求方法,与GET方法相比,POST方法主要用于发送数据到服务器,而不是从服务器检索数据原创 2024-04-30 16:32:38 · 62 阅读 · 0 评论 -
323_C++_QT_QProcess执行cmd解压、压缩、删除tar.gz等等其他压缩包文件到指定目录,不需要外部库,QT自带API的就行
通过 Qt 的 QProcess 类来执行外部命令。QProcess 允许你启动和与外部程序进行通信原创 2024-04-29 20:20:03 · 216 阅读 · 0 评论 -
307_C++_记录工程代码中内存分配信息,初始版本
定义几个结构体用于记录内存分配信息和统计内存使用情况: // 用于记录内存分配信息的结构体 struct Allocation { size_t size; bool isArray; bool isMmap; time_t applyTime; // 申请内存时间 time_t releaseTime; // 释放内存时间 std::string description; }; struct SmartPtrAllocation { size_t size;原创 2024-03-17 21:34:41 · 29 阅读 · 0 评论 -
322_C++_将“Key_lists“的第一项中的key提取出来进行base64解码得到用于加密的salt 使用salt、“iter“迭代次数以及用户密码 进行PBKDF2处理得到加密后的秘钥Enc
当执行两条API请求的时候,第一条API的作用就是获取二次请求的key,请求到的key进行base64编解码形成加密的slat后,给第二条API调用原创 2024-04-26 10:29:47 · 40 阅读 · 0 评论 -
321_C++_字符串流的高级使用法,提高文件读取性能,以高效的方式处理二进制文件、非文本文件(如图像、音频、视频等)或跨平台兼容的文件
通过`std::filebuf`的成员函数针对`底层文件流`高效操作,完成写文件数据到buffer中,后续可对buffer转base64,跨平台传输文件~原创 2024-04-26 10:03:02 · 192 阅读 · 0 评论 -
320_C++_一整段JSON赋值给C++string类型对象
【代码】320_C++_一整段JSON赋值给C++string类型对象。原创 2024-04-25 10:58:34 · 77 阅读 · 0 评论 -
319_C++_使用QT自定义的对话框,既能选择文件也能选择文件夹,为什么使用QListView和QTreeView来达成目的?
使用 Qt 提供的对话框,开发者可以控制对话框的外观和行为,确保它们符合应用程序的整体风格原创 2024-04-19 13:23:47 · 165 阅读 · 0 评论 -
318_C++_写入结构体的函数 + 仿函数,配合算法使用,忘记了,今日用到回忆一下
C++的结构体(struct)中可以包含成员函数。在C++中,结构体和类(class)在功能上是相似的,只是默认的访问权限不同。结构体中的成员默认是public的,而类中的成员默认是private的原创 2024-04-17 21:27:31 · 86 阅读 · 0 评论 -
317_C++_QT跨页面复制、粘贴,312编号无法跨页面进行粘贴,因为是成员变量
使用QClipboard类来实现剪贴板的功能是相对简单的。QClipboard提供了访问系统剪贴板的接口,允许你复制和粘贴文本、图像等各种数据原创 2024-04-16 09:46:40 · 36 阅读 · 0 评论 -
315_C++_【base64Encode ----> base64_bits_to_64】,二进制数据转换为Base64字符串,以及什么情况下使用转码操作,配合编号298文章
cppout: 指向输出Base64字符的指针。in: 指向输入二进制数据的指针。inlen: 输入二进制数据的长度。主要循环:cppfor (;inlen >= 3;这个循环处理输入数据的主体部分,每次处理3个字节。当inlen小于3时,循环结束。处理3个字节并转换为4个Base64字符:cppin += 3;这段代码首先将每个字节的高2位转换为Base64字符,然后处理接下来的4位、6位和最后的2位。每次处理完一个字节后,都会增加in的指针和out的指针。原创 2024-04-12 13:25:51 · 66 阅读 · 0 评论 -
314_C++_QT表格的撤销、恢复,可对多行、多item进行撤销、恢复操作
QT表格的撤销、恢复,可对多行、多item进行撤销、恢复操作。原创 2024-04-11 14:17:29 · 98 阅读 · 0 评论 -
312_C++_QT表格的剪切、拷贝、粘贴,轻量化操作
QT表格的剪切、拷贝、粘贴,轻量化操作。原创 2024-04-10 16:24:57 · 137 阅读 · 0 评论 -
311_C++_QT表格的单个item的撤销、恢复操作,代码量很小,轻量化
轻量化操作原创 2024-04-10 16:21:51 · 175 阅读 · 0 评论 -
308_QT_QTableWidget表格的复制、粘贴、剪切,程序完美有注释,更详细的地方可问小度
批量粘贴的时候,也限制了粘贴的显示区域,也就是只能粘贴0、1列,显示不论点击哪里,批量粘贴,都是粘贴到0、1列。原创 2024-03-28 08:51:14 · 143 阅读 · 0 评论 -
306_C++_QT_创建多个tag页面,使用QMdiArea容器控件,每个页面都是一个新的表格[或者其他]页面
1、对ini文件内容的读取采用链表QList 的形式读取第一列和第二列数据,map会覆盖 2、对QMdiArea容器控件的使用 3、表格QTableWidgetItem的注意原创 2024-02-21 17:13:30 · 274 阅读 · 0 评论 -
305_C++_定义了一个定时器池 TimerPool 类和相关的枚举类型和结构体
定时器池TimerPool、定时器任务列表TimerPoolList,继承自std::list,可以使用std::list中的操作提取所需信息、线程变量pthread_t 、线程属性变量pthread_attr_t 、毫秒纳秒使用情景。原创 2024-02-17 11:49:12 · 209 阅读 · 0 评论 -
304_C++_C风格,读取文件st_size大小数据到数组buf,然后对buf进行Base64编码【涉及C++中的字符串处理和Base64编码】
设计函数:open、fstat、read、sl::crypto::base64::encode、close文件描述符原创 2024-01-30 09:48:41 · 70 阅读 · 0 评论 -
302_C++_QT_QComboBox样式设置,由多个控件组合成一个整体,有5各部分,与button按键等控件有很大区别
参考链接地址-1参考链接地址-2原创 2024-01-02 10:43:53 · 385 阅读 · 0 评论 -
301_C++_字符串解析函数‘strcasestr‘
strcasestr 是一个字符串查找函数,它在不区分大小写的情况下查找一个字符串在另一个字符串中的位置原创 2023-12-21 21:13:02 · 535 阅读 · 0 评论 -
299_C++_根据组ID、线程ID创建录像线程
使用到了:组ID(GroupId)和线程ID(ThreadId)赋值的目的是为了在创建录像线程时传递一些必要的信息,以便线程在运行时能够识别和处理属于哪个组的哪个线程原创 2023-12-20 21:36:08 · 857 阅读 · 0 评论 -
298_C++_【base64Decode ---> base64_64_to_bits函数】Base64编码的字符串转换为原始的二进制数据
base64Decode中包含base64_64_to_bits,字符串类型数据转成buf方便拷贝原创 2023-12-07 21:42:54 · 936 阅读 · 1 评论 -
297_C++_任务队列的添加,汇总类中添加指定任务类的队列,指定任务类中在添加具体执行操作的任务队列,在具体操作队列中再按照对于通道添加通道的执行队列[addTask]
多次细分任务队列的添加,分属不同的功能类去addTask添加到任务队列原创 2023-12-05 21:19:01 · 901 阅读 · 0 评论 -
295_C++_板端代码处理音频数据,主要是—帧头信息+数据包长度信息+实际音频数据
一段音频数据的三段组成:音频帧头信息+额外的音频数据长度信息+实际的音频数据原创 2023-12-02 22:42:23 · 982 阅读 · 0 评论 -
294_C++_报警状态bit与(&)上通道bit,然后检测置位的通道,得到对应置位通道的告警信息,适用于多通道告警,组成string字符串发送
适用于多通道告警,用bit位的置位来表示对应通道产生了告警,组成string字符串发送;其中结构体进行了多层嵌套,第二层中还要枚举+联合体原创 2023-11-16 22:02:59 · 345 阅读 · 0 评论 -
293_C++_告警类
它首先会检查指定读者是否存在,然后再根据读者的状态以及获取的位置信息进行最终的判断,最后返回相应的状态码表示获取的成功或失败。总体来说,这个函数的目的是根据传入的位置信息更新指定读者的读取位置和周期,但在更新之前会根据特定条件进行严格的检查。总体而言,该函数的目的是管理告警列表的位置和周期,当列表中的位置到达最大值时,它会将位置重置为0,并增加周期指示告警列表的新周期。总体来说,这个函数的作用是初始化告警列表的读取器,并将其添加到告警列表的读取器列表中,同时返回对应的读取器 ID。在这个特定的程序中,原创 2023-11-08 21:45:35 · 424 阅读 · 0 评论