笔记
权左
这个作者很懒,什么都没留下…
展开
-
c++ priority_queue 存储自定义数据
//方法1,运算符重载struct cmp1 { int x; cmp1(int a) { x = a; } bool operator<(const cmp1& a) const { return x < a.x; //大根堆 }};//方法2;重写仿函数struct cmp2 { bool operator ()(cmp1 a, cmp1 b) { return a.x < b.x;原创 2021-03-23 19:08:02 · 378 阅读 · 2 评论 -
小小的vector size函数也有大大的坑!!!
C++ vector 的size函数返回vector大小,返回值类型为unsigned int型,unsigned int的取值范围为0~2^32 -1。vectorA={};当容器A为空时,如果直接使用A.size()-1的话,会直接造成溢出,得到的结果并不是-1,而是一个很大的数。所以为了避免发生溢出的情况,需要正确使用size方法。解决办法一:int size = A.size();解决办法二:(int)A.size()为了方便使用,我比较推荐方法一。...原创 2020-12-16 10:31:38 · 2907 阅读 · 2 评论 -
OVS+RYU控制器实现源IP地址和源端口转换
OVS+RYU控制器实现源IP地址和源端口转换目录OVS+RYU控制器实现源IP地址和源端口转换前言一、OpenVswitch安装二、RYU控制器安装三、docker安装四、实验4.1 实验一:同网段的ip地址修改4.1.1创建网桥4.1.2 无网络启动docker容器2.读入数据总结前言本文通过RYU控制器对Open vSwitch交换机下发流表,实现了将连接在Open VSwitch的机器的源ip地址和源端口转换成其他ip地址和任意端口的功能,本文实验只是简单的NAT转换,读者可以在本文的基础原创 2020-12-07 20:56:39 · 1795 阅读 · 4 评论 -
RYU控制器安装
(1)安装python3.6sudo add-apt-repository ppa:fkrull/deadsnakes sudo apt-get updatesudo apt-get install python3.6(2)设置python3为默认版本sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100sudo update-alternatives --install /usr/bin原创 2020-12-07 20:55:21 · 468 阅读 · 0 评论 -
C++ string类的insert函数的介绍及使用
1.在特定位置插入const char *字符串(1)string &insert(int p0, const char *s)功能:在原字符串下标为pos的字符前插入字符串str返回值:插入字符串后的结果(2)string &insert(int p0, const char *s, int n);功能:在p0位置插入字符串s的前n个字符返回值:插入字符串后的结果 string str1="Working people "; string str2="Wor原创 2020-11-08 18:48:10 · 7968 阅读 · 1 评论 -
C++ 字符、字符串与int数据互转
1.char转int将字符a转换成int型数据赋值给bchar a='5';int b=a-'0';2.int转char将整型a转换成char型赋值给bint a=5;char b=a+'0';3.string转intstoi()头文件:#includestring a="100";int b=to_string(a);4.int转stringto_string头文件:#includeint a=100;string b=to_string(a);原创 2020-11-01 22:35:23 · 449 阅读 · 0 评论 -
C++二维vector容器按照指定列排序
1.编写compare函数static bool compare(vector<int>&a,vector<int>&b){ return a[1]<b[1]; //a[num]<b[num],num代表指定列 // < 代表升序排列}2.与sort函数结合sort(intervals.begin(),intervals.end(),compare);//intervals为二维vector容器3.例子原创 2020-09-21 20:42:38 · 2173 阅读 · 0 评论 -
华为交换机设置端口镜像捕获数据包
华为交换机设置端口镜像捕获数据包1.登录交换机在MobaXterm中选择telnet会话,采用telnet协议登录交换机。2.添加镜像组输入sys命令进入编辑模式。添加镜像组,2为镜像组的标号 mirroring-group 2 local3.添加监听端口注:抓包的时候,需要将电脑网卡端口与该监听端口用网线连起来。进入需要监听的端口(命令中的9即为要设置的监听端口)interface GigabitEthernet1/0/9设置监听mirroring-group 2 monito原创 2020-09-17 17:40:45 · 6076 阅读 · 2 评论 -
创建内核函数的man手册
最近在进行linux内核开发的学习,但是不知道怎么使用内核函数。在朋友的提醒下,可以通过man命令查询函数的使用,但是系统并没有自带内核函数的man手册,所以就尝试手动添加。踩过的坑1.必须下载与自身系统内核版本相同的内核源码2.建议直接在虚拟机内下载内核源码。我一开始是在宿主机上下载的内核源码,然后拖进虚拟机内,但是文件在拖进迅疾的过程中会出现数据丢失的情况(可能是我电脑的原因)。最后在解压内核源码的时候就没有成功。3.在生成mandocs之后,直接在当前目录运行make installmando原创 2020-05-16 15:30:46 · 401 阅读 · 0 评论 -
虚拟机(centos7)设置静态ip
我虚拟机选的桥接模式,在打开虚拟机之前对vmware进行设置。一、vmware设置点击vmware编辑,选择虚拟网络编辑器,如下图,之后选择更改设置。选择桥接模式,网卡选择含有wireless的网卡,如下图所示。点击确定,之后打开虚拟机。二、虚拟机设置1、查看本地主机ip,默认网关以及DNS在命令行窗口输入ipconfig /all,获取主机网络信息。2、点击centos右上...原创 2020-04-22 22:04:17 · 140 阅读 · 0 评论 -
C++判断文件是否为空
在文件中读取一个字符,判断是否为文件末尾。ifstream ifs(filename,ios::in)char ch;ifs>>ch;if(ifs.eof()){ cout<<”文件为空”<<endl;}需要引用头文件fstream...原创 2020-03-22 15:17:53 · 8596 阅读 · 9 评论 -
解决clion控制台中文乱码
在clion代码文件的编码是UTF-8格式,而控制台在显示UTF-8格式的中文时会出现乱码,所以需要修改代码文件的编码格式,具体操作如下。点击clion窗口右下角编码格式,将utf-8改为GBK在弹出的窗口中选择convert重新运行代码即可正确显示中文。...原创 2020-03-19 11:08:34 · 7000 阅读 · 0 评论 -
laravel使用middleware中间件做路由保护
概述 在laravel中默认定义了auth中间件,auth中间件可以实现禁止未登录用户访问后台页面。用户也可以根据自己的需求来自定义中间件。本文将会对auth中间件的使用和中间件的自定义进行阐述。一、auth中间件的使用1. 在路由文件中引用auth中间件 打开路由文件web.php,中间件的使用方法为路由->middleware(中间件名称)。Route::get('inde...原创 2020-02-14 19:03:25 · 2456 阅读 · 0 评论