C++ – 阿拉伯数字字符串转换为中文读法的中文字符串,支持小数点
1 C++阿拉伯数字字符串转换为中文读法的中文字符串,不支持小数点 最近碰到一个这样的需求,就是将阿拉伯数字字符串转换为中文读法的中文字符串,形如将 "199922" 转换为: "十九万九千九百二十二" 经过一番折腾,已经可以成功完成转换,并支持个位数到兆的范围转换,我的示例代码如下: #inclu…
- C++
- 2021-12-04
C++ – 使用正则判断字符串是否全是中文
1 C++使用正则判断字符串是否全是中文 使用中文的Unicode编码范围对字符串进行正则匹配,示例代码如下: #include <iostream> #include <string> #include <regex> int main() { std::wst…
- C++
- 2021-12-04
C++ – Unicode编码下的全角字符转半角字符
1 Unicode编码下的全角字符转半角字符 如果输入的待转换的字符串是std::wstring型,那么直接对std::wstring中的字符进行遍历,将其中的全角字符转换为半角字符,具体的转换代码如下: #include <iostream> #include <locale&g…
- C++
- 2021-12-04
C++ – UTF8编码下的全角字符转半角字符
1 C++ UTF8编码下的全角字符转半角字符 如果输入的字符std::string是UTF8编码,因为UTF8字符串长度的不确定性,需要先将UTF8编码的字符串转换为宽字符Unicode编码的字符串,再进行全角到半角字符的转换,具体的转换过程参考以下代码: #include <iostrea…
- C++
- 2021-12-04
C++ – GBK编码下的全角字符转半角字符
1 C++全角字符转半角字符 在一些文章或者网页上的数字在复制到剪切板上面时经常会保持全角输入状态,这个需要将全角字符转换为半角字符。在转换的过程中,中文保持原有状态,中文标点符号保持原有状态,将中文空格清空,其他全角字符转换为半角字符,转换过程可参考以下代码: #include <iostr…
- C++
- 2021-11-30
C++11 – 快速学会正则表达式
转载自:https://ayaka.shn.hk/cppregex/ 1 概述 C++ 中正则表达式通常使用 R"(...)" 的形式,相当于 Python 中的 r"...",保证字符串内部的 \ 等字符不被转义。但是,R"(...)" 中的 () 是语法的一部分,一定不要当成字符串里面的内容。例…
- C++
- 2021-11-22
Duilib – RichEdit控件发送textchanged消息
1 RichEdit无法像Edit一样发出textchanged消息 最近在写一个小工具的时候,发现Duilib的RichEdit控件无法发出textchanged消息,就是说没有办法检测到RichEdit中的文本是否被改变,这限制了很多逻辑实现,比如说当当前RichEdit控件内的文本发生变化时,…
- Duilib
- 2021-11-22
Duilib – RichEdit和List等控件增加垂直滚动条vscrollbar和水平滚动条hscrollbar
1 在RichEdit控件中增加垂直滚动条和水平滚动条失败,不显示滚动条 之前在富文本编辑框控件RichEdit中使用属性 vscrollbar="true" autovscroll="true" 中调用垂直滚动条与自动滚动属性,总是没有在RichEdit的控件里面看到垂直滚动条。这几天通过查看官方…
- Duilib
- 2021-11-22
Duilib – 点击按钮弹出模态对话框
1 模态对话框 是指在用户想要对对话框以外的应用程序进行操作时,必须首先对该对话框进行响应。如单击确定或取消按钮等将该对话框关闭。模态对话框垄断了用户的输入。当一个模态对话框打开时,用户只能与该对话框进行交互,而其他用户界面对象收不到输入信息。模态对话框下,用户需要操作目标对话框就必须先操作模态对话…
- Duilib
- 2021-11-16
C++11 – 构建一个符合实际应用要求的线程池
1 什么是线程池 线程池从本质上可以看做是一个多生产者多消费者的多线程应用。 一个线程池包括以下四个基本组成部分: 线程池管理器:用于创建并管理线程池,包括创建线程池,销毁线程池,添加新的工作线程,添加工作任务; 工作线程:属于线程池中的线程,用于处理实际任务,在没有工作任务时等待,在任务队列不为空…
- C++
- 2021-11-08
C++ – C++使用cuda api获取当前GPU显卡的总共的显存容量、已使用显存容量、剩余显存容量
1 C++使用cuda api获取当前GPU显卡的显存容量、已使用显存、剩余显存 在一些使用场景下,当我们的应用程序需要从显卡中开辟显存时,为了增加程序的健壮性,常常需要在开启程序的时候获取当前电脑是否有足够的显存,在这一层面,所有的系统都没有提供太好的公用api可供调用,所以需要使用N卡的cuda…
- C++
- 2021-10-29
C++11 – 解析并获取可变参数模板中的所有参数
1 C++11解析并获取可变参数列表中的所有参数 C++11的新特性--可变参数模板(variadic templates)是C++11新增的最强大的特性之一,它对参数进行了高度泛化,它能表示0到任意个数、任意类型的参数。相比C++98/03,类模版和函数模版中只能含固定数量的模版参数,可变模版参数…
- C++
- 2021-10-27