自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 python--列表学习

文章目录列表是什么?访问列表元素修改、添加和删除元素修改列表元素在列表中添加元素在列表末尾添加元素在列表中添加元素从列表中删除元素使用 del 语句删除元素使用方法 pop() 删除元素弹出列表中任何位置处的元素根据值删除元素组织列表使用方法sort()对列表进行永久性排序使用函数sorted()...

2020-02-23 18:34:21

阅读数 5

评论数 0

原创 sed

sed工具 sed的用法 sed [-nefr] [动作] 参数: -n: 使用安静 (silent) 模式,在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到屏幕上,但如果加上 -n 参数后,则只有经过 sed 特殊处理的那一行才会被列出来。 -e: 直接在命令行模式下进行 ...

2020-02-16 22:06:16

阅读数 16

评论数 0

原创 可变参数:stdarg.h

实现可以接受可变数量参数的函数 提供一个使用省略号的函数原型; 在函数定义中创建一个 va_list 类型的变量 用宏 va_start() 把该变量初始化为一个参数列表 用宏 va_arg() 访问参数列表 用宏 va_end() 完成清理工作 #include <stdio.h>...

2019-12-16 23:20:27

阅读数 11

评论数 0

原创 MQTT

MQTT Control Packet type Position:byte 1,bits 7-4.

2019-10-22 10:21:06

阅读数 65

评论数 0

原创 python--输入输出

Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "...

2019-10-07 22:58:29

阅读数 14

评论数 0

原创 python----基础学习

1.安装python 使用的操作系统是Ubuntu,可以从终端窗口安装python,步骤如下: sudo apt-get install python3 sudo apt-get install idle3 sudo apt-get install python3-pip 2.安装文本编...

2019-09-20 13:18:30

阅读数 34

评论数 0

原创 编译与链接

#include <stdio.h> int main() { printf("Hello World\n"); return 0; } 在Linux下,当我们使用GCC来编译Hello World程序时,只需使用最简单的命令: mali@mali:~...

2019-09-03 23:58:45

阅读数 30

评论数 0

原创 C ---位操作

C按位运算符 按位逻辑运算符 用法:掩码 用法:打开位(设置位) 有时,需要打开一个值中的特定位,同时保持其他位不变。 用法:关闭位(清空位) 用法:切换位 用法:检查位的值 移位运算符 位字段 位字段(bit field)是一个signed int或unsigned int类...

2019-09-02 00:41:53

阅读数 20

评论数 0

原创 c++---函数重载

函数重载 函数多态是C++在C语言的基础上新增的功能。默认参数可以让我们能够使用不同数目的参数调用同一个函数,而函数多态(函数重载)能让我们使用多个同名的函数。 函数重载的关键是函数的参数列表---也称为函数特征标(function signature).如果两个函数的参数数目和类型相同,同时...

2019-09-02 00:40:18

阅读数 20

评论数 0

原创 C++---标准模板库

STL提供了一组表示容器、迭代器、函数对象和算法的模板。 容器是一个与数组类似的单元,可以存储若干个值。STL容器中存储的值的类型相同;算法是完成特定任务(如对数组进行排序或在链表中查找特定值)的处方;迭代器能够用来遍历容器的对象,与能够遍历数组的指针类似,是广义指针;函数对象是类似于函数的对象...

2019-09-02 00:33:17

阅读数 23

评论数 0

原创 C++---函数模板

函数模板允许以任意类型的方式来定义函数。 例如,可以建立这样一个交换模板: template <typename AnyType> void Swap(AnyType &a, AnyType &b) { AnyType temp; temp = a...

2019-09-02 00:17:51

阅读数 16

评论数 0

原创 c++---成员初始化列表

成员初始化列表的语法: 如果Classy是一个类,而mem1、mem2和mem3都是这个类的数据成员,则类构造函数可以使用如下的语法来初始化数据成员: Classy::Classy(int n, int m) :mem1(n), mem2(0), mem3(n * m + 2) { ...

2019-09-01 23:27:07

阅读数 21

评论数 0

原创 linux---FTP

1.使用tcpdump抓取FTP执行过程中的数据包: mali@mali:~/ftp$ sudo tcpdump -i any -w ftp.pcap tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture ...

2019-08-27 15:06:22

阅读数 32

评论数 0

原创 C语言实现---八皇后问题

#include <stdio.h> #include <stdlib.h> #define max 8 int queen[max], sum=0; /* max为棋盘最大坐标 */ void show() /* 输出所有皇后的坐标 */ { int i; ...

2019-08-26 21:46:53

阅读数 32

评论数 0

原创 C++--多态公有继承

RatedPlayer继承示例很简单,可参考https://blog.csdn.net/merry1996/article/details/100066859。派生类对象使用基类的方法,而未做任何修改。然而,可能会遇到这样的情况,即希望同一个方法在派生类和基类中的行为是不同的。换句话来说,方法的行...

2019-08-25 22:27:03

阅读数 46

评论数 2

原创 C++---类继承

目录 1.一个简单的基类 派生一个类 构造函数:访问权限的考虑 使用派生类 1.一个简单的基类 从一个类派生出另一个类时,原始类称为基类,继承类称为派生类。为说明继承,首先需要一个基类。Webtown俱乐部决定跟踪乒乓球会会员。作为俱乐部的首席程序员,需要设计一个简单的TableT...

2019-08-25 22:16:26

阅读数 67

评论数 0

原创 网络序和主机序

#include <stdio.h> #include <stdlib.h> #include <string.h> #define DSS_SUCCESS 0 #define DSS_ERROR -1 typedef unsigned int uint3...

2019-08-23 12:38:13

阅读数 26

评论数 0

原创 c++---实现mystring

1.string.h //string.h #ifndef STRING_H_ #define STRING_H_ #include <iostream> using std::ostream; using std::istream; class String { private:...

2019-08-18 19:51:41

阅读数 25

评论数 0

原创 C++---使用类

运算符重载 实现一个Time类,重载加法、减法和乘法运算符: 1.头文件: //mytime.h--Time class with operator overloading #ifndef MYTIME_H_ #define MYTIME_H_ class Time { private: ...

2019-08-18 17:17:48

阅读数 17

评论数 0

原创 c++---循环和关系表达式

基于范围的for循环(C++ 11) #include <iostream> using namespace std; int main() { double prices[5] = {4.99, 10.99, 6.87, 7.99, 8.49}; for (dou...

2019-08-18 12:19:23

阅读数 11

评论数 0

原创 c++---对象和类

目录 类的构造函数和析构函数 声明和定义构造函数 使用构造函数 默认构造函数 析构函数 改进Stock类 this指针 对象数组 抽象数据类型-栈 类声明类似结构声明,可以包括数据成员和成员函数。声明有私有部分,在其中声明的成员只能通过成员函数进行访问;声明还具有共有部分,在其...

2019-08-18 01:25:26

阅读数 25

评论数 0

原创 c++--new和delete

目录 使用new来分配内存 使用delete释放内存 使用new来创建动态数组 使用new创建动态结构 使用new来分配内存 在使用new时,程序员要告诉new,需要为哪种数据类型分配内存;new将找到一个长度正确的内存块,并返回该内存的地址。程序员的责任是将该地址赋给一个指针。 例...

2019-08-17 23:48:21

阅读数 23

评论数 0

原创 linux---进程间通信(IPC)

经典的IPC(InterProcess Communication):管道 FIFO 消息队列 信号量 以及共享存储 管道 管道是UNIX系统IPC的最古老形式,所有UNIX系统都提供此种通信机制。管道有以下两种局限性: 历史上,它们是半双工的 (即数据只能在一个方向上流动)。 管道只能在...

2019-08-14 01:48:01

阅读数 20

评论数 0

原创 linux---文件和目录

文件访问权限 每个文件有9个访问权限位,可将它们分为3类: 9个访问权限位 st_mode屏蔽 含义 S_IRUSR S_IWUSR S_IXUSR 用户读 用户写 用户执行 S_IRGRP ...

2019-08-13 22:06:52

阅读数 20

评论数 0

原创 c---字符输入/输出和输入验证

创建更友好的用户界面 使用缓冲输入 /* guess.c */ #include <stdio.h> int main(void) { int guess = 1; printf("Pick an integer from 1 to 100. I wi...

2019-08-12 01:03:11

阅读数 27

评论数 0

原创 linux---进程控制

目录 进程标识 函数fork() 僵尸(Zombie)进程 销毁僵尸进程:函数wait和waitpid 信号处理 信号和signal函数 alarm函数 利用sigaction函数进行信号处理 利用信号处理技术消灭僵尸进程 函数exec 函数system 进程标识 每个进...

2019-08-12 01:00:22

阅读数 29

评论数 0

原创 C---文件输入/输出

目录 标准I/O exit() fopen()函数 读和写流 输入函数 输出函数 每次一行I/O 文件结尾 一个简单的文件压缩程序 随机访问: fseek()和ftell() 标准I/O的机理 二进制I/O:fread()和fwrite() 用二进制I/O进行随机访问...

2019-08-11 02:17:47

阅读数 50

评论数 0

原创 tls

2019-08-07 09:49:13

阅读数 27

评论数 0

原创 git学习

1. git log filename 可以看到fileName相关的commit记录 2. git log -p filename 可以显示每次提交的diff 3. 只看某次提交中的某个文件变化,可以直接加上fileName git show c5e69804bbd9725b5dece57f...

2019-08-06 10:56:52

阅读数 26

评论数 0

原创 shell script学习

目录 利用test命令的测试功能 利用判断符号[] shell的默认变量 条件判断式 利用if...then 利用case...esac判断 for命令 读取列表中的值 读取列表中的复杂值 从变量读取列表 从命令读取值 while命令 使用多个测试命令 until命...

2019-07-30 00:35:50

阅读数 28

评论数 0

原创 linux---数据流重定向

标准输入(stdin): 代码为0, 使用<或者<< 标准输出(stdout): 代码为1, 使用>(覆盖)或者>>(累加) 标准错误输出(stderr): 代码为2,使用2>或者2>> #列出根目录下的各目录和文件 mali@mali:...

2019-07-29 23:24:06

阅读数 21

评论数 0

原创 C实现---快速排序

#include <stdio.h> #include <stdlib.h> typedef int RecordType; int QKPass(RecordType r[], int low, int high); void QKSort(RecordType r[],...

2019-07-27 22:56:33

阅读数 20

评论数 0

原创 链表----合并有序单链表

之前有实现过链表的定义和相关操作实现,可参考:https://blog.csdn.net/merry1996/article/details/95185387 在之前的基础上增加了新的合并两个链表的函数 typedef int Item; typedef struct node { ...

2019-07-27 22:26:52

阅读数 82

评论数 0

原创 linux进程学习

目录 1.进程的查看 ps:将某个时间点的进程运行情况选取下来 top:动态查看进程的变化 pstree: 进程之间的相关性 1.进程的查看 ps:将某个时间点的进程运行情况选取下来 #仅查看自己的bash的相关进程: ps -l mali@mali:~$ ps -l F S ...

2019-07-25 23:27:23

阅读数 242

评论数 0

转载 Wireshark 抓包理解 HTTPS 请求流程

2.1. 三次握手2.1.1. TCP 协议内容2.1.3. Round 22.1.4. Round 32.1.5. 小结2.2. 创建 HTTP 代理(非必要)2.3. TLS/SSL 握手2.3.1. TLS/SSL 协议内容2.3.2. 阶段一2.3.3. 阶段二2.3.4. 阶段三2.3....

2019-07-25 00:12:16

阅读数 170

评论数 0

原创 strlcpy---实现

C语言标准库函数strlcpy,是更加安全版本的strcpy函数,在已知目的地址空间大小的情况下,把从src地址开始且含有'\0'结束符的字符串复制到以dest开始的地址空间,并不会造成缓冲区溢出。 函数原型声明:size_t strlcpy(char *dest, con...

2019-07-24 23:48:10

阅读数 328

评论数 0

原创 数组和指针

目录 1.什么是声明,什么是定义? 2.数组和指针是如何访问的? 3.当你“定义为指针,但以数组方式引用”时会发生什么? 4. 数组和指针的其他区别 5. 什么时候数组和指针相同? 6. 多维数组的内存布局 7. 指针数组 8数组和指针时如何被编译器修改的 1.什么是声明,什...

2019-07-21 00:08:54

阅读数 37

评论数 0

原创 C++---指针和引用

目录 指针 引用 将引用用作函数参数 引用的属性和特别之处 临时变量 引用参数和const 应尽可能使用const 将引用用于结构 指针 指针持有一个对象的地址,称为指针"指向"这个对象。通过指针可以间接操纵它指向的对象,指针的典型用法包括: 构造链式的...

2019-07-20 21:17:12

阅读数 23

评论数 0

原创 linux--shell学习

目录 变量 变量的设置规则: 环境变量的功能: 通配符(wildcard) 命令执行的判断依据:; && || 1. cmd;cmd 2. $?(命令回传码)与&& || 管道命令(pipe) 选取命令:cut grep cut grep 正...

2019-07-17 21:52:15

阅读数 57

评论数 0

原创 linux--IP地址和域名之间的转换

目录 利用域名获取IP地址 利用IP地址获取域名 利用域名获取IP地址 #include <netdb.h> struct hostent* gethostbyname(const char* hostname); 成功时返回hostent结构体地址,失败时返回NULL指...

2019-07-16 01:22:51

阅读数 495

评论数 0

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