自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

专注于C/C++/Linux领域创作

记录、学习、分享,仅此而已...

  • 博客(405)
  • 资源 (15)
  • 问答 (1)
  • 收藏
  • 关注

原创 Windows BAT脚本 | 定时关机程序

【代码】Windows BAT脚本 | 定时关机程序。

2024-01-06 04:14:26 2224

原创 Windows 设置caps lock切换输入中英文

2、新建脚本(原理:按下caps时,按键映射为ctrl-space)3、双击运行脚本(此时可以先实验一下脚本是否执行成功)1、下载autohotkry v1。将Capslock关闭。4、将脚本转换成exe。

2023-03-19 23:40:33 1850 1

原创 shell脚本命令行参数 | while getopts

shell脚本,从安卓端传文件到PC端

2022-08-07 00:55:00 1900

原创 正则表达式 | 整数以千分位逗号分隔

示例:12345678 => 12,345,678分析:自右向左,每三位增加一个逗号。表达式:/(?=(a{3})+($))/g (不完美)(?=..) 正向零度断言,表示匹配该子表达式前面的项。(\d{3})+ 表示匹配3个数字视为一个分组。+表示整数倍(匹配连续3个数字、6个数字、9个数字…)$ 表示每一次都匹配到行尾,以防止被匹配过的项再次被匹配。测试:有Bug,对于3整数长度的数字,头部也会匹配到。法一:表达式 /(?!^)(?=(\d{3})+$)/g (推荐)

2022-04-22 22:21:26 1323

原创 正则表达式 | 关于正则表达式匹配密码问题

问题:解答第一问:8-32个字符,至少2种字符组合,不含空格(大写字母、小写字母、数字和标点符号,支持的标点符号包括-!@#$^&+.)^(?![\d]+$)(?![a-z]+$)(?![A-Z]+$)(?![!#$%^&*]+$)[\da-zA-Z-!@#$^&+.]{8,32}$解析:测试:第二问:10-32个字符,至少3种字符组合,不含空格(大写字母、小写字母、数字和标点符号,支持的标点符号包括-!@#$^&+.)^(?![a-zA-Z]+$)(?

2022-04-22 00:45:06 579

原创 关于 python json操作常用函数(字典-字符串-json)loads()、load()、dumps()、dump()

一览:从列格式转换至对应的行格式所需方法: 原格式in \ 转换后outjson字符串dictjson文件 json字符串 / out=json.loads(in) 文件函数:f.write...等 dict out=json.dumps(in) / out=json.dump(in) json文件 文件函数:f.re

2022-04-21 18:46:09 1521

原创 C/C++/Linux「学习必备」珍藏多年的学习网站分享 | 工欲善其事必先利其器

这里分享的是C/C++学习阶段所需网站,经博主自用使用频率较高的几个网站。废话不多说,直接看正文。----上述网站都是在我学习和工作中积累而来,不论是学习还是工作,找到一个趁手的网站真的能事半功倍。当然以上分享的内容大都围绕我们学习而言,可以让我们少走很多弯路。当然优秀的网站还有很多,这里我只分享了一些可能对大家有帮助的,并且是平时比较常用的一些网站。

2022-04-20 19:05:22 4314

原创 未定义的行为 a = a++; 的结果是什么?

起因:代码:#include <iostream>using namespace std;int main(){ int a = 0; a = a++; cout << a << endl; return 0;}通过minGW算得结果,是原a的值(尝试了几个不同的优化等级)有关gcc优化等级:https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#Optim

2022-04-06 20:11:33 892

原创 VS studio msvc | 堆栈默认值 烫屯葺 0xCC、0xCD、0xFD、0xDD

预设值说明0xCC栈上申请的,未初始化的变量,的缺省值0xCD堆上申请的,未初始化的变量,的缺省值0xDD堆上申请的,所在空间释放后,的缺省值0xFD在已申请的堆区空间上,设定上下边界值而以上三者的输出结果就是 烫烫烫屯屯屯葺葺葺。使用 visual studio 演示:1、栈空间未初始化空间缺省值为 0cCC ,堆空间未初始化空间缺省值为 0cCD2、边界栅栏值 0xFD 。tips: 这也是为什么单个堆对象不能用 delete ...

2022-04-06 16:35:09 1638

原创 C++ std::regex | 正则表达式

cppreference: https://zh.cppreference.com/w/cpp/regex结合以下网站食用更加:正则大全正则解析:Regulex:JavaScript Regular Expression Visualizer正则练习:regex101: build, test, and debug regex文章目录一、正则表达式的操作二、主要的几个类2.1 basic_regex 正则表达式对象示例:2.2 match_results 正则匹配结果集示例:2.3 sub_m

2022-04-04 04:06:02 6338

原创 关于C语言遍历中英文字符串时的输出问题

问题:https://ask.csdn.net/questions/7560143?answer=53582941解答:普通汉字一个字符占两个字节,字母占一个字节。 你在变换的时候,本来是两个字节表示的汉字,给拆开了。 显示的就是乱码这里提供一种解决思路,判断当前是否为中文,如果是中文,那么接下来的两个字节视为一个整体。代码参考如下:void func(const char* str){ int len = strlen(str); for (int i = 0; i <

2022-04-03 14:38:18 875

原创 关于python内模块math、使用 C 或 C++ 扩展 Python

起因:https://ask.csdn.net/questions/7680299回答根据math的帮助字符转提示,猜测python的math函数应该是调用的C函数库。使用ide的话,点击函数跳转到math中,会发现在 math.pyi 文件中,pow函数只定义了函数头,没有具体实现(以下截图通过vs code打开)。而结合 math.doc 的提示,我们可以猜测math中的函数调用自C库。https://github.com/python/cpython/blob/3.10/Doc/libr

2022-04-02 23:15:46 1644

原创 Windows api 控制台操作:取消最大化、最小化、关闭菜单

主要步骤:找到窗口句柄删除对应菜单选项相关函数:获得窗口句柄-GetConsoleWindowGetConsoleWindow是检索与调用进程相关联的控制台窗口句柄的意思复制或修改而访问窗口菜单-GetSystemMenu窗口菜单指“最大化”、“最小化”、“关闭”等按钮参数:hWnd:拥有窗口菜单拷贝的窗口的句柄。bRevert:标志位,指定将执行的操作。返回值:如果参数bRevert为FALSE,返回值是窗口菜单的拷贝的句柄如果参数bRevert为TRUE

2022-03-26 22:46:28 3640

转载 【转载】gcc.gnu.org:内置函数执行溢出检查算法

转载:https://gcc.gnu.org/onlinedocs/gcc/Integer-Overflow-Builtins.html下面的内置函数可以执行简单的算术运算,并检查运算是否溢出。内置函数:bool __builtin_add_overflow( type1 a, type2 b, type3 * res)内置函数:bool __builtin_sadd_overflow(int a,int b,int * res)内置函数:bool __builtin_saddl_overflo.

2022-03-22 17:35:43 2659

原创 最短路径 Dijkstra算法 python+C++

class Solution {public: int networkBecomesIdle(vector<vector<int>>& edges, vector<int>& patience) { int n = patience.size(); vector<vector<int>> adj(n); vector<bool> visit(n, f

2022-03-21 02:41:55 2066

原创 分享一个浏览器扩展:C/C++ Search Extension ——支持cppreference搜索功能

C/C++ Search Extension 插件可以解决cppreference无法搜索的问题。使用方法:鼠标点击地址栏(url被选中后),键入cc+空格此时地址栏变成 C/C++ Search Extension 输入关键词 。cppreference学习C/C++时少不了查阅手册英文:en.cppreference.com中文:zh.cppreference.com而cppreference的搜索功能并不是很好用,常常键入关键字却检索不到内容。一般情况下我们会通过搜索引

2022-03-18 19:15:28 1921 3

转载 【转载】C/C++ 代用运算符表示:and、or、not...

C++(及 C)源代码可以用任何包含 ISO 646:1983 不变字符集的非 ASCII 7 位字符集书写。然而,一些 C++ 运算符及标点要求 ISO 646 编码集外的字符:{, }、[, ]、#、\、^、|、~。为了能够使用不存在一些或全部这些符号的字符编码(例如德语 DIN 66003),C++ 定义下列由 ISO 646 兼容字符组成的代用写法。

2022-03-18 18:32:56 3602

转载 【转载】C/C++ 文本替换宏

预处理器支持文本宏替换和仿函数文本宏替换。

2022-03-18 18:29:22 950 1

原创 432. 全 O(1) 的数据结构【双向链表 + 哈希表】

思路:数据结构1:保存每个key及其出现的次数。按序排列数据结构2:优化查找key的速度,取消遍历数据结构1匹配key的过程。基于以上思路,数据结构1选取双向链表,因为随着inc操作,链表中的结点位置会频繁变动需要具备增删改操作都是O(1),且结构本身需要具备有序。数据结构2选取哈希map,因为hash增删改查操作都是O(1)。因此,我们可采用以下结构(错误示范,不满足时间复杂度O(1)):// 双向链表,每个节点存放 key 及其出现次数。以计数递增排列list<pair<

2022-03-16 19:22:34 1110

原创 python 关键字:nonlocal 与 global

nonlocal 意为:非局部的。主要用于在函数内部定义函数时,内层函数使用外层函数的变量。(函数的函数——闭包,类比C++匿名函数的捕获列表)。示例:from typing import Listdef func(nums: List[int], val:int): def add(): nonlocal nums # 引用外层变量 nums nums = [i+val for i in nums] add()

2022-03-15 03:18:04 1199

原创 python 列表生成式、生成器、generator对象

列表生成式可以使用列表生成式生成 列表元素。例如:列表还支持 if … else 与 for 循环组合的单行表达式进行初始化。>>> example = [i*i if i%2 == 0 else 2*i for i in range(1,11)] # 1~10中,奇数*2,偶数平方>>> print ([i for i in range(1,11)]) # 对照组,1~10[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>&g

2022-03-14 02:17:03 1253

原创 C++模板编程之变长参数模板

模板:https://zh.cppreference.com/w/cpp/language/templates变量模板:https://zh.cppreference.com/w/cpp/language/variable_template类型别名,别名模版:https://zh.cppreference.com/w/cpp/language/type_aliastemplate<class T>struct Alloc { };template<class T>usin

2022-03-07 00:40:08 3132 1

原创 python 快速生成全0列表

lst1 = [0] * 10lst1 = [0 for _ in range(10)]lst3 = list(map(lambda x: 0, range(10)))解析:lst3 = list(map(lambda x: 0, range(10)))定义函数 lambda x: 0。接收参数x,返回 0.map(function, iterable, …) ,map将序列中的参数,一次传入function中调用返回迭代器使用list() 接收迭代器,将其装换为 list...

2022-03-06 03:20:13 16491

原创 java打包/解压,编译/反编译

javac xxx.java 打包成 xxx.class 文件。jad 反编译成 xxx.java 文件教程:https://blog.csdn.net/qq_26383975/article/details/113103932下载:http://java-decompiler.github.io/jar :https://zq99299.github.io/java-tutorial/deployment/jar/unpack.html创建 Jar 文件创建 JAR 文件的基本格式是:j

2022-03-05 17:36:29 420

原创 C/C++ 下标运算符subscript、后缀表达式、正负下标

提问:如果我们要获得a数组的第二个元素,请问一下那种方式可以达到要求。int a[] = { 1,2,3,4,5,6 };cout << a[1] << endl;cout << *(a+1) << endl;cout << 1[a] << endl;cout << (1)[a] << endl;答案是都可以。首先,ar[i]和*(ar+1)这两个表达式都是等价的,这里就不再多说了,而1[a] 与

2022-03-04 02:06:46 2717

原创 读书笔记:输出缓冲区的管理

C++Primer第四版:以下皆为引用:输出缓冲区的刷新我们的程序已经使用过 endl 操纵符,用于输出一个换行符并刷新缓冲区。除此之外,C++ 语言还提供了另外两个类似的操纵符。第一个经常使用的 flush,用于刷新流,但不在输出中添加任何字符。第二个则是比较少用的 ends,这个操纵符在缓冲区中插入空字符 null,然后后刷新它:cout << "hi!" << flush; // flushes the buffer; adds no data cout .

2022-03-04 00:35:24 210

原创 读书笔记:不要依赖未定义行为

C++Primer第四版: 不要依赖未定义行为使用了未定义行为的程序都是错误的,即使程序能够运行,也只是巧合。未定义行为源于编译器不能检测到的程序错误或太麻烦以至无法检测的错误。不幸的是,含有未定义行为的程序在有些环境或编译器中可以正确执行,但并不能保证同一程序在不同编译器中甚至在当前编译器的后继版本中会继续正确运行,也不能保证程序在一组输入上可以正确运行且在另一组输入上也能够正确运行。程序不应该依赖未定义行为。同样地,通常程序不应该依赖机器相关的行为,比如假定 int 的位数是个固.

2022-03-04 00:30:02 410

原创 redis.conf配置与redis远程登录

redis重启:redis-server /etc/redis.confredis.conf 配置远程访问相关参考:https://blog.csdn.net/weixin_42518709/article/details/113538443protected-mode yes 开启保护模式(默认开启)如果开启了保护模式,并且bind未配置,密码也未设置。redis只接受来自本机的连接。对于bind,不少人都误解了。以为这个设置是只对客户端IP的连接限制,其实这是错误的!bind是你服务器的

2022-02-28 23:12:01 545

原创 Mariadb 设置远程访问

添加远程访问账户这里参考自:https://www.jianshu.com/p/b89c275cf3cbMariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root';第一个位置,为数据库, 第二个位置,为表,所以 *.*,表示可以访问任意数据的任意表'root'@'%', root表示远端登录使用的用户名,%表示允许任意ip登录,可将指定ip替换掉%, root与%可以自定义IDENT.

2022-02-28 22:30:11 15667

原创 idea 快捷键 与 常用设置 与 插件

自动导入包: alt + enter自动补全变量名称 : Ctrl + Alt + v将光标放置在代码的最右侧, 快捷键 ctrl+alt+v 就会补全左侧代码基本代码补全: Ctrl+Space 或补全可见范围内的类,方法,字段和关键字。当您调用代码补全功能时,IntelliJ IDEA会分析上下文并提供可用的建议列表(建议中还将包括 Live templates)。自动生成类成员函数 alt+insert 或(fn+alt+insert )语句补全 ctrl + shif

2022-02-26 00:44:30 605

原创 Linux zip与unzip:通过正则式解压压缩包内指定的文件

使用 zip/unzip 可以压缩/解压zip格式的压缩包,类似的还有 tar ,gunzip, bunzip2等命令。而如果一个压缩包内含有很多文件,而我们只需要解压一部分我们所需要的文件出来,此时我们不难想到使用正则匹配对应文件的文件名然后将其提取出来。(遗憾的是,unzip不支持使用正则匹配文件,不过我们可以通过其他linux命名组合来完成这一过程。使用zip/unzip为了测试,这里我们先介绍一下dd命令,用于生成我们的测试文件。dd 命令dd 是device driver 的缩写, 复

2022-02-24 02:54:01 5371

原创 关于shell输出重定向,tee的使用,以及time无法被重定向的问题

关于重定向的使用使用重定位符可以将命令的输出结果保存到文件>> 进入追加模式。如果命令执行错误,可以使用 2>&1 将命令的输出和错误保存到同一个文件中。tee 命令可以将执行结果显示在屏幕的同时,将结果写进文件。tee 命令 -a 选项进入附加模式 command | tee -a file.txt==注意:管道 和 重定向无法同时使用。(管道符的" | "的作用只是把前一个程序的标准输出流(stdout)的数据 作为后一个程序 的标准输入流stdi

2022-02-23 23:18:25 2048

原创 程序员可以有多浪漫,盘点那些像诗一样美的代码(C语言版)

确认过眼神,是个带诗人[陌生,爱)           ==>          始于陌生,爱无止境[ 陌生, 爱) \ \ \ \ \ \ \ \ \ \ \ ==> \ \ \ \ \ \ \ \ \ \ 始于陌生,爱无止境[陌生,爱)   &nbsp

2022-01-17 19:43:56 19338 9

原创 这是什么操作?C语言一行字符串居然让我电脑关机了。

今天在在C站看到一篇文章,「一个神奇的C代码(你知道什么原理吗?)」。文章中给出一段代码,然后在main函数中直接 return 了,初看好像没啥毛病。结果运行后电脑注销关机了。emmmmmm,这是什么操作(っ °Д °;)っ代码如下:#pragma GCC optimize 0#pragma comment(linker,"/section:.data,rwe")char str[]= "PYVTX10X41PZ41H4A4I1TA71TADVTZ32PZNBFZDQC02DQD0D13DJE

2022-01-16 00:15:34 367

原创 论C++如何优雅的输出数组元素。<( ̄ c ̄)y▂ξ 优雅,永不过时

今天的主题是,论如何优雅的输出数组的元素,顺便在此过程中了解。。。引子众所周知,在C++中想要输出数组内的元素,我们一般会沿用C的方式,即遍历数组输出。而在其他语言中,都可以直接输出数组,例如python 或是golang。但是…,C++语言以灵活著称,难道就没有方式更优雅的输出数组元素了吗?当然有,还不止一条。下面就让我们来探讨一下「C++如何优雅的输出数组元素」。基于范围的for循环在C++11的语法更新中提供了一个特殊版本的 for 循环——基于范围的 for 循环。(以下简称为“范

2022-01-15 20:18:45 4184 5

原创 有了 IP 地址,为什么还要用 MAC 地址?

我认为,IP地址和MAC地址可以类比生活中寄快递的过程。在整个网络中数据被封装成数据报文进行发送,就像我们生活中寄快递时将物品放进包裹中。而数据在路由器之间的跳转也可以看作是不同地区快递小哥对物流的交接。IP地址ip地址等价于快递包裹上的收件人地址。快递员通过收件人地址将包裹在出发地到目的地之间连出一条线,然后通过不同地区之间的物流中转最后将包裹送到收件人的手中。从上图的粗箭头所描述的路径便可达到目的地址,陕西省-西安市-xx县-xx街道-…。同理,ip地址也具备此功能,通过IP地址的网络位

2022-01-11 21:03:06 30730 23

原创 linux查找文件技巧 | find、locate、grep、whereis/which、type

工具find、locate、grep、whereis/which、type。文章目录find 文件查找工具示例:查找C++中set函数头文件set.h实例:递归的删除指定后缀的文件locate 文件查找工具示例:查找c库函数头文件 stdio.h 文件示例:指定目录查询grep 文本搜索工具示例:根据文件内容查找文件示例:查看配置文件whereis/which 可执行文件查找工具示例:查找ls程序所在位置示例:查找python程序type 可执行程序的路径查找特殊场景查询示例:寻找某个时间段内生成/修改的

2022-01-11 01:10:19 885

原创 【高级数据结构】 Trie | 字典树 前缀树

数据结构可视化:https://www.cs.usfca.edu/~galles/visualization/Trie.html字典树结构,每个结点有两个成员。struct TrieNode { bool isWorldEnd; // 标记当前字母是否为单词的结尾 TrieNode* children[26]; // 使用26个位置标记字母} 其中,children数组的26个位置分别代表26个字母。children初始状态都为nullptr,如果children[i] 不为nullpt

2021-12-28 17:18:48 223 2

原创 golang 笔记,package

关于go的package:引用文章https://zhuanlan.zhihu.com/p/91627930go导包测试目录结构:在与src/main的同级目录中有,src/tool,package为 tool正常导入包我们在src/main目录下有个main.go将作为测试的程序。tool目录下存在多个相同的packagetool目录下存在多个不同的package导致导入包失败将mylib2.go中的package修改成,tool2。 运行main.go 失败导入src..

2021-12-27 20:23:28 1179 1

原创 golang 笔记

数组与切片类比C++语言:Go语言中的数组之于C++中的数组,固定大小,不能够动态扩展大小,Go语言中的切片至于C++中的Vector,可以动态扩展大小。当大小超过容量时,重新分配一块内存,然后将数据复制到新的内存区域。// slice.gopackage mainimport ( "fmt")// 打印变量相关信息 https://haicoder.net/golang/golang-printf.html// %v 相应值的默认格式 Printf("%v”, webSite

2021-12-27 18:11:01 547 1

算子网掩码.exe 计算子网掩码

windows系统下的桌面程序,可用于计算划分子网掩码、通配符掩码检测、十进制IP与点分十进制IP转换等。 使用说明,如计算划分子网掩码: 用户输入一个ip地址,和需要划分的子网个数。程序自动计算出合适的ip地址与子网掩码,并将其显示在输出框上。

2020-11-23

子网掩码计算器.exe

windows系统下的桌面程序,可用于计算划分子网掩码、通配符掩码检测、十进制IP与点分十进制IP转换等。 使用说明,如计算划分子网掩码: 用户输入一个ip地址,和需要划分的子网个数。程序自动计算出合适的ip地址与子网掩码,并将其显示在输出框上。

2020-11-23

SubNetMaskCalc.exe 自动计算ip子网工具

windows系统下的桌面程序,用于计算划分子网掩码。 用户输入一个ip地址,和需要划分的子网个数。程序自动计算出合适的ip地址与子网掩码,并将其显示在输出框上。

2020-11-23

NetMask.exe 自动计算ip子网工具

windows系统下的桌面程序,用于计算划分子网掩码。 用户输入一个ip地址,和需要划分的子网个数。程序自动计算出合适的ip地址与子网掩码,并将其显示在输出框上。

2020-11-23

Aria2 Tools - 支持RPC协议.zip

Aria2 Tools - 支持RPC协议.zip

2020-04-05

Linux基础(内含HTML格式与epub格式).zip

Linux基础(内含HTML格式与epub格式).zip。

2020-04-05

超全汇编速查手册.chm

超全汇编速查手册.chm。

2020-04-05

Windows 中的键盘快捷方式 - Windows Help.html

Windows 中的键盘快捷方式 。

2020-04-05

应用中的键盘快捷方式 - Windows Help.html

windows常用应用中的快捷键。

2020-04-05

用于辅助功能的 Windows 键盘快捷方式 - Windows Help.html

windows上的快捷键官方文档。

2020-04-05

贪吃蛇实践报告.doc

贪吃蛇实验报告。学期期末设计实验报告,此实验报告于我博客贪吃蛇2.0中代码配套。内容仅供参考

2019-11-18

计算机基础知识试题及答案.doc

计算机基础知识试题及答案.doc

2019-11-18

EasyX_Help.chm

EasyX 是针对 C++ 的图形库,可以帮助 C 语言初学者快速上手图形和游戏编程。Easyx帮助手册可以帮助开发人员更好的使用Easyx进行图形化编程。

2019-10-06

IndentGuide v14+v15

内含IndentGuide v14和IndentGuide v15两款插件,作用可使代码块大括号之间生成一条虚线。

2019-04-25

vld内存泄漏测试工具

VLD(Visual Leak Detector)是一款用于 Visual C++ 的内存泄露检测工具。

2019-04-25

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除