c++
@故人叹
这个作者很懒,什么都没留下…
展开
-
检测POSIX 线程是否运行结束
当信号参数为 0 时,该函数不会发送任何信号,而是用于检查线程的存在性。实现一个类似std::thread::joinable()函数,用于查看linux c/c++为 POSIX 线程线程是否运行结束,不能阻塞主进程。通常情况下,pthread_kill() 用于向线程发送取消信号 SIGCANCEL 或自定义的线程间通信信号。pthread_kill() 是 POSIX 线程库中的一个函数,用于向指定线程发送信号 sig。如果 sig 为 0,则不发送信号,但会检查线程是否存在。原创 2024-07-12 17:05:26 · 190 阅读 · 0 评论 -
sm4加密算法C/C++源码
* @brief 加密文件*/void Encrypt(std::string SrcPath);* @brief 解密文件*/void Decrypt(std::string SrcPath);* @brief 加密字符串 * @param SrcPath (传入) 需要加密的字符串 * @param DestPath (传出) 加密后的密文字符串 **********************************************************************原创 2022-09-27 00:02:28 · 6158 阅读 · 2 评论 -
使用libusb库实时监测usb设备插拔信息
使用libusb库实时监测usb设备插拔信息,信息包括USB插拔状态、USB接口号、设备名称iProduct、厂商名称iManufacturer、设备编号idProduct、厂商编号idVendor、接口编号、USB类型码bDeviceClass,与lsusb -v所获取的信息一致,接口号与lsusb -t显示信息一致,厂商名称id为0时,名称获取不到,用厂商编号填充。原创 2023-07-12 16:30:52 · 1061 阅读 · 1 评论 -
std::string类以值传递传入函数参数,源字符串被修改的情况
很明显,原字符串已经被修改,std::string::c_str() 返回一个 const char* 类型的指针,指向 std::string 内部存储的字符数组副本。分享一个std::string使用当中遇到的问题,众所周知,当std::string对象以值传递的方式传入函数参数时,会走拷贝构造函数,即生成一个副本传入函数,原始字符串的内容不会被修改。所以说,为了防止出现意外情况,修改 std::string 对象的内容最好使用 std::string 的成员函数来进行。原创 2023-07-12 16:12:55 · 434 阅读 · 1 评论