Windows将大写锁定键设置为中英文切换
在“设置-时间和语言-语言”选择中文语言的选项 进入后点击微软输入法的选项 进入后在“按键”中确保选择了“ctrl+空格”进行大小写切换 下载脚本工具AutoHotkey,本次教程的核心就是使用这个脚本,使CapsLock键映射为ctrl+空格,并判定长按的时间,超过一定时间就判定为按下大写锁定键,从而实现mac上一样的效果;将写好的脚本放在开机目录,开机自启动。 顾名思义,autohotkey是一款热键管理管理脚本工具 下载好之后进行安装,安装好之后就如下图,不用管,关闭就好 方法一: 新建一个记事本,命名一个比较贴近的名称 里面内容设置如下: #NoEnv的作用应该是指定使用v1版本的ahk 12345678910111213#NoEnvSetCapsLockState, AlwaysoffSetStoreCapsLockMode, OffCapsLock::KeyWait, CapsLock, T0.3If ErrorLevel { Send, {CapsLock} KeyWait, CapsLock} ...
Windows Terminal好处多多
1. Windows的新终端Windows terminal比原来的命令行工具好用很多,直接就是上位替代
C++_NULL和nullptr的区别
NULL和nullptr的区别简单来说,C++中引入了``nullptr来专门用于指针的置空,解决了C语言中NULL`的二义性问题。 也就是说,以后要给指针赋予空,用nullptr就对了 详细参考链接:C++中NULL和nullptr的区别
C-指针进阶知识
C-指针进阶知识数组指针1234int p1;int p2[5];int* p3[5];//int (*p4)[5] = p3;//数组指针 *与变量名p结合的优先程度是最弱的, * 会优先与前面的类型参数进行结合,而变量又会先与后面的方括号、括号结合,所以如果想说明变量是指针,且变量后又有其他符号跟随,就必须用括号将 *和变量括起来,变成 ( *p )的形式。 p1是int类型的变量 p2的变量类型是int [5],是一个数组,保存int类型的元素 p3的变量类型是int* [5],是一个数组,保存int*类型的元素 p4先与* 结合,p4的变量类型是int (*)[5],是一个指针。指向的是int [5]类型,即包含五个int类型元素的数组;即p4存储的是包含5个int类型元素的数组的地址。p4是数组指针 数组指针p4的值虽然和数组名p3一样,都是数组的起始地址,不过前者是”数组p3这个对象“的起始地址,后者是数组p3内首元素“的起始地址,它们的值完全相同,但是表示的范围跨度就不一样了,从现象上来看,数组指针是以一整个数组的空间为跨度,而数组首地址则是一个元素的空间为 ...
Qt代码格式化-使用astyle插件
具体配置请见下面文章天上人间 (cnblogs.com) 其他参考文章:QT 代码格式化 | 配置Beautifier - 简书 (jianshu.com)qt creator 代码格式化工具Astyle的配置_qt creater 配置astyle-CSDN博客 Qt Creator 代码格式化的高级配置_qt creator代码格式化-CSDN博客 以下是补充说明: 红色部分是astyle可执行程序的路径 蓝色部分是用户自定义的模块:点击“Add”为添加新设置,“Edit”对于当前模块进行更改 模块的设置基本框架为:Name可以自定义Value部分: 必须先使用--style=添加一个astyle的固定风格,该风格是astyle插件中预先设置好的诸多风格之一,可以在[astyle官方文档](Artistic Style (sourceforge.net))进行查看,也可以在astyle安装目录子文件夹file下查看有哪些预定风格: 需要注意的是,在自定义Value部分时,必须要先设定好这样一个风格,否则会报错如:Failed to format: The ...
Qt如何使用第三方库
1.获取库的.dll和.lib(或.a)在资源管理器中找到对应库的.dll和.lib(或.a)如果第三方库不是Qt生成的:通常比较规范的第三方库,有lib和include两个文件夹。lib文件夹就是包含的库文件。include则包含头文件。 如果第三方库是Qt生成的:(通过Qt创建库的方法请见另一篇文章) 第三方库的构建时可以选择构建套件(Kit): 使用的MSVC编译:编译后会生成.dll和.lib两个文件。.dll在运行应用程序时调用,.lib在应用程序隐式调用动态链接库时使用使用MinGW编译:编译后会生成.dll和.a两个文件,.dll在运行应用程序时调用,.a在应用程序隐式调用动态链接库时使用 注意,如果一个项目中使用了第三方库,构建项目时使用的套件,必须与使用的第三方库构建使用的套件一致,否则会报错”link1104“错误 即如果第三方库用的MinGW编译,项目中添加的库文件是.a,那么项目构建的时候,也是用MinGW编译才可以通过 构建时可以选择套件、构建的位置,如果选择了Debug,则应该到中间文件目录的Debug文件夹下去找构建后的库:中间文件目录会生成 ...
C++_范围for
C++_范围for通常遍历STL的方式有三种: 通过下标+循环 (只适用于顺序存储结构) 迭代器iterator(STL容器都自带) 范围for 下面讲解一下范围for:范围for的实现逻辑实际上就是调用了迭代器iterator,通过查看汇编就可以看出来 范围for是遍历STL中的每一个元素 这里不要和迭代器搞混,迭代器是访问的元素的地址,然后再解引用迭代器,访问到的元素 范围for使用时变量直接就是获取到的元素(也就是包含了用迭代器获取地址+迭代器解引用) 下面是一个使用案例: 1234567891011121314151617181920212223242526272829string s("hello world");//范围forfor(char ch : s){ cout << ch;}//迭代器iteratorstring::iterator it = s.begin();while(it!= s.end())//注意要使用不等号而不是小于号,因为某些数据结构地址空间不一定是连续的{ cout ...
MySQL_数据库备份与还原
数据库备份备份命令在shell命令行进行1$ mysqldump [-P端口号] -u用户名 -p密码 [-B] 数据库名 > 备份后的名称.bak.sql [ ]内的是可以省略的 -u和用户名、-p和密码之间可以加空格,可以不加 -B和数据库名之间必须有空格(如果-B没有省略的话) 端口号可能是3306,取决于数据库有没有指定端口 备份后的文件要具体到路径,否则认为当前工作路径(同其他shell命令一样) eg1:mysqldump -uroot -p0295 test2 > ../test2.bak.sql备份到了父目录 eg2:mysqldump -P3306 -uroot -p0295 test2 > test2.bak.sql备份到了当前目录 可以多个数据库同时备份 1$ mysqldump [-P端口号] -u用户名 -p密码 [-B] 数据库1 数据库2 > 备份后的名称.bak.sql eg:mysqldump -uroot -p0295 -B test2 test_mysql > test.back.sql两个数据库备份到了一个备 ...
MySQL_库和表的使用(部分未完
库和表的使用操作小记 记录的是基础用法,有很多细节省略了,详细请看课件或者完整笔记 MySQL的SQL语句分为以下三类 DDL 【数据定义语句】 用来维护存储数据的整体结构,比如库和表的创建、修改、删除、备份与还原、查看 代表命令create,alter,drop,source,show DML【数据操纵语句】 用来操作表中的具体数据,比如插入数据、查询数据、删除数据 代表命令insert,select,delete,update DLC【数据控制语句】 负责权限管理和事务 代表命令grant,revoke,commit 登录mysql有两种方式: 指明端口 不指明端口,使用默认的 -p的作用是不显式地输入密码,我并没有设置root账户的密码,直接按回车即可 -u和root之间可以有空格可以没有 DDL【数据定义语句】查看mysql所有库 注意mysql语句要用分号结尾 创建库 或者“如果这个库不存在的话,就创建”(创建表的时候也一样): 注意,关于库、表的名称,最好使用反引号`` `括起来,这个符号是电脑esc键下面的键 ...
C&C++连接与使用MySQL
连接mysql首先要下载好devel开发库才行 「MySQL-04」Linux环境下使用C/C++连接并操纵MySQL_linux c++ mysql-CSDN博客 否则会提示找不到库