C++ 在各种字符串类型之间相互转换 简述最近在写 MFC 程序的过程中经常遇到不同字符串类型间的转换,也是在查资料的过程中意外发现了微软的一篇文档:如何:在各种字符串类型之间进行转换。介绍的相当全面,即便是没有提及的基本也可以通过多次转换得到,本文将比较常用的一些转换提炼成代码片段,以便以后查阅☠ 多字节 <==> 宽字符1. MultiByteToWideChar官方文档:MultiByteToWideChar fun 2021-03-02 C++ #C++
C++ 包管理器 vcpkg 的安装使用 简述Vcpkg 是适用于 C 和 C++ 库的跨平台命令行包管理器。我个人的理解就类似于 Python 的 pip ,可以很方便的下载安装一些第三方的库。 本文仅简要记录我个人在 Windows 平台下的安装使用过程,更多内容请查阅官方文档:https://docs.microsoft.com/zh-cn/cpp/build/vcpkg?view=msvc-160 安装首先确保 Windows 系 2021-02-25 C++ #C++ #vcpkg
C++保存文件为UTF8编码格式 简述目前在做毕业设计,用 MFC 做一个 OCR 文字识别的客户端程序,其中就涉及到了将数据导出,源码中最常用的字符串类型大概就是 CString ,最主要的原因是它支持中文吧,严格说是支持 Unicode 字符。 关于导出数据这一块,其实就是用 ofstream 来将数据写到文件,CString 也是支持直接写到文件中的,但大概是由于 Visual Studio 的原因默认的编码格式似乎是 GB 2021-02-25 C++ #C++
Leetcode 1576. 替换所有的问号【C++】 地址:https://leetcode-cn.com/problems/replace-all-s-to-avoid-consecutive-repeating-characters/ 题目给你一个仅包含小写英文字母和 '?' 字符的字符串 s,请你将所有的 '?' 转换为若干小写字母,使最终的字符串不包含任何 连续重复 的字符。 注意:你 不能 修改非 2021-02-23 Leetcode #Leetcode #C++
Leetcode 1370. 上升下降字符串【C++】 地址:https://leetcode-cn.com/problems/increasing-decreasing-string/ 题目给你一个字符串 s ,请你根据下面的算法重新构造字符串: 从 s 中选出 最小 的字符,将它 接在 结果字符串的后面。 从 s 剩余字符中选出 最小 的字符,且该字符比上一个添加的字符大,将它 接在 结果字符串后面。 重复步骤 2 ,直到你没法从 s 中选择 2021-02-20 Leetcode #Leetcode #C++
Leetcode 459. 重复的子字符串【C++】 地址:https://leetcode-cn.com/problems/repeated-substring-pattern/ 题目给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。 示例 1: 输入: "abab" 输出: True 解释: 可由子字符串 "ab" 重复两次构成。 2021-02-19 Leetcode #Leetcode #C++
Leetcode 665. 非递减数列【C++】 地址:https://leetcode-cn.com/problems/non-decreasing-array/ 题目给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的: 对于数组中任意的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。 示例 2021-02-19 Leetcode #Leetcode #C++
使用Qt for Python实现加载动画 简述之前用 Qt 做程序界面的时候,有一个小问题就是有的操作可能比较耗时,比如说点击一个按钮,程序需要一段时间来处理,然后这时候界面也卡住不能操作了,需要等待处理完成,我自己也是使用软件的,很显然这样用户体验极差。很常见的做法就是添加一个加载动画,加载完之后再自动关闭加载动画,体验就一下子上来了🤪 不过说归说,这事情却一直没有做,今天恰好有时间就查资料,把这事给解决了~ 思路首先还是简要说下思路 2020-12-03 Qt #Python #Qt
我的 Python 笔记 一些实际开发中总结的 Python 经验~ 获取字典的值d = {'a': 1, 'b': 2} 一般我们会直接用 d['a'] 获取字典的值,但是如果不小心写了 d['c'] ,字典中并没有 'c' 的键,就会报错。 更好的方法是使用 get() 方法~ a = d.get(' 2020-11-16 Python #Python
我的 Qt for Python 笔记 盒子布局官方文档:https://doc.qt.io/qtforpython/PySide2/QtWidgets/QGridLayout.html grid = QGridLayout() # 实例化一个格子布局 比较常用的几个函数: def addLayout (arg__1, row, column, rowSpan, columnSpan[, alignment=Qt.Alignment 2020-11-12 Qt #Python #Qt