- 博客(15)
- 收藏
- 关注
原创 LinuxC--计算字符串中子串数
LinuxC--计算字符串中子串数 #include<stdio.h> #include<stdlib.h> #include<string.h> int Count(char* str,char* chdstr) { int sum=0; char* first_str=str; while(first_str=strstr(first_str,chdstr)) { sum++; first_str=first_str+strlen(chdstr); } return
2020-06-20 12:55:10
472
原创 Linux c 网络编程--中篇
Linux c 网络编程--中篇1.字节顺序与转换函数1.1字节顺序1.2Linux系统提供的转换函数2.获取和设置套接字属性2.1获取套接字属性2.2设置套接字属性 1.字节顺序与转换函数 1.1字节顺序 大端模式:高字节数据存放在低地址,低字节数据存放在高地址。 小端模式:低字节数据存放在低地址,高字节数据存放在高地址。 数据0x04030201存放如下 注意 1.对于char类型数据由于只占一个字节,因此不存在大小端的问题 2.对于IP地址、端口等非char类型数据,必须在数据发送到网络之前转
2020-06-16 22:29:00
296
原创 Linux C-网络编程--上篇
Linux C-网络编程1.通用套接字2.具体赋值使用的套接字创建套接字建立连接绑定套接字监听套接字接受连接发送和接收数据 1.通用套接字 #include<linux/socket.h> struct sockaddr{ unsigned short sa_family;//协议族类型2字节,AF_INET(TCP/IP协议) char sa_data[14]; //具体协议地址14字节 } 一般并不对该通用结构体进行操作,而是使用另一个等价数据结构 2.具体赋值使用的套接字 stru
2020-06-12 23:33:09
351
原创 计算机网络-运输层-UDP
计算机网络-运输层-UDP用户数据报协议UDPUDP概述1.UDP主要特点2.UDP首部格式3.UDP端口复用4.UDP计算检验和 用户数据报协议UDP UDP:User Datagram Protocol UDP概述 1.UDP 只在 IP 的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。 1.UDP主要特点 1.UDP是无连接的,减少了开销和发送数据之前的时延。 2.不保证可靠交付,即尽最大努力交付,主机不用维持复杂的连接状态表。 3.面向报文的,UDP一次交付一个
2020-06-10 23:48:52
390
原创 C进程控制--上篇
C进程控制基础linux进程的结构linux进程状态进程的各种标识符进程的内存映像创建进程子进程继承父进程的内容子进程与父进程的区别孤儿进程fork与vfork 基础 1.进程是一个动态的实体,是程序的一次执行过程。 2.进程是在内存中,程序是在硬盘中。 3.进程是操作系统资源分配的基本单位。 4.区别进程、线程、程序。 5.线程在进程内部,是比进程更小的能独立运行的基本单位。 6.线程不拥有系统资源,与其他线程共享进程的全部资源。 7.一个线程可撤销另一个线程,同一进程中多个线程并行执行。 8.进程树的
2020-06-03 23:53:16
381
原创 shell--循环
shell--循环 #列表for 这种使用in的格式1比较常用 格式1: for 变量 in 列表 do 操作变量 done #列表为数字或字符串组成,元素空格分隔 #举例(可复制并直接执行) for i in 1 2 3 4 5 do echo $i done for i in hello world do echo $i done 格式2 for 变量 in {start..end..step} do 操作变量 done 注:用范围列出所有元素 使用 .. step 表示步长 默认步
2020-05-24 12:00:33
215
原创 makefile之伪目标
makefile--伪目标常用伪目标clean伪目标不可以与文件名同名伪目标的依赖文件伪目标作为默认目标 伪目标的目的不是根据依赖关系生成某个目标,而是为了执行某种任务 常用伪目标clean clean: rm *.o #通过 make clean来使用目标 小结: 1.因为我们并不是生成clean这个文件,因此"伪目标"并不是一个文件,只是一个标签。 2.由于“伪目标”不是文件,所以 make 无法生成它的依赖关系和决定它是否要执行,因此在使用时是通过 “make clean” 这样显示指明
2020-05-20 22:49:34
698
原创 linux---oracle之spool
linux--oracle之spool #! /bin/sh sqlplus -s 用户名/密码<<EOF set head off set linesize 20000 set echo off set feedback off set pagesize 0 set termout off set trimout on set trimspool on spool /home/test.txt select empno || '|' || ename || '|' ||
2020-05-16 21:25:37
1022
原创 redis之cluster
redis-cluster安装linux准备用户等安装步骤 redis版本 redis-5.0.7 三主三从(类似的可以多主多从) 准备用户等 # 创建用户 useradd -d /app/redis -m redis 设置密码 passwd 密码 安装步骤 1.上传redis到linux下 在linux下创建目录/app/redis 2.在/app/redis创建目录 mkdir bin mkdir etc mkdir cluster 3.在/app/redis解压安装包 tar -zvxf re
2020-05-14 21:22:30
202
原创 postgres--copy的使用
postgres--copy导出单个表到显示器导出单个表到文件中导出单个SQL语句查询结果到文件中导入显示器数据到表中导入单个文件数据到表中 注意:copy中的分隔符默认是tab键。 导出单个表到显示器 导出单个表到文件中 导出单个SQL语句查询结果到文件中 导入显示器数据到表中 导入单个文件数据到表中 ...
2020-05-14 20:26:58
1476
原创 python闭包与装饰器--下篇
python闭包与装饰器__call__基于类实现的装饰器类装饰器带参数 前提: 装饰器函数从另一个角度去看其实是一个接口约束,它必须接受一个callable对象作为参数,然后返回一个callable对象。 Python中一般callable对象都是函数,但也有例外。只要某个对象重载了__call__()方法,那么这个对象就是callable的 call class Hello(): def __call__(self): print("call me!") if __name
2020-05-11 20:45:08
260
原创 python闭包与装饰器--中篇
python闭包与装饰器最简单装饰器被修饰的函数带参数装饰器带参数类装饰器内置装饰器 最简单装饰器 被修饰的函数带参数 装饰器带参数 类装饰器 内置装饰器
2020-05-09 21:06:39
382
原创 python闭包与装饰器--上篇
python闭包与装饰器函数有三种形式闭包装饰器 函数有三种形式 1.定义形式 2.对象形式(函数变量) 3.调用形式 def outer(): str1 = "我是outer函数str1" print(str1) def inner(): str1 = "我是inner函数str1" print(str1) return inner f=outer() f() #结果: #我是outer函数str1 #我是inner函数str1 函数嵌
2020-05-08 22:56:58
409
原创 5分钟教会你python的random模块
python-random取随机浮点数取整数多选一多选任意洗牌 取随机浮点数 print(random.random()) # 随机产生一个0-1之间的小数 0 <= n < 1.0 print(random.uniform(1, 3))# 随机产生两个数之间的浮点数random.uniform(start,stop) 取整数 print(random.randint(1, 3)...
2020-05-07 23:20:39
298
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅