read

C语言中read()与write()函数总结

南笙酒味 提交于 2019-11-27 12:13:23
1.都位于<unistd.h>中 read()函数 原型:ssize_t read(int fd,void*buf,size_t count) 参数说明: fd: 是文件描述符,对应0 buf: 为读出数据的缓冲区; count: 为每次读取的字节数(是请求读取的字节数,读上来的数据保 存在缓冲区buf中,同时文件的当前读写位置向后移) int num; read(0,&num,4); write()函数 原型:ssize_t write(int fd,void*buf,size_t count) 参数说明: fd: 是文件描述符,对应1 buf: 需要写入的数据,通常为字符串; count: 每次写入的字节数 char* ch = "hello world\n"; int len = strlen(ch); write(1,ch,len); 来源: https://blog.csdn.net/KiWi_VC/article/details/99671902

158. 用 Read4 读取 N 个字符 II

断了今生、忘了曾经 提交于 2019-11-27 11:24:59
read 方法: 通过使用 read4 方法,实现 read 方法。该方法可以从文件中读取 n 个字符并将其存储到缓存数组 buf 中。您 不能 直接操作文件。 返回值为实际读取的字符。 read 的定义: 参数: char[] buf, int n 返回值: int 注意: buf[] 是目标缓存区不是源缓存区,你需要将结果写入 buf[] 中。 示例 1: File file("abc"); Solution sol; // 假定 buf 已经被分配了内存,并且有足够的空间来存储文件中的所有字符。 sol.read(buf, 1); // 当调用了您的 read 方法后,buf 需要包含 "a"。 一共读取 1 个字符,因此返回 1。 sol.read(buf, 2); // 现在 buf 需要包含 "bc"。一共读取 2 个字符,因此返回 2。 sol.read(buf, 1); // 由于已经到达了文件末尾,没有更多的字符可以读取,因此返回 0。 Example 2: File file("abc"); Solution sol; sol.read(buf, 4); // 当调用了您的 read 方法后,buf 需要包含 "abc"。 一共只能读取 3 个字符,因此返回 3。 sol.read(buf, 1); // 由于已经到达了文件末尾,没有更多的字符可以读取,因此返回

python 文件操作

岁酱吖の 提交于 2019-11-27 10:59:26
文件操作基本语法: fp = open ("文件名","模式","字符编码集") fp 是文件io 对象(别名:文件句柄) i : input 写入 o : output 写出 1.文件的写入操作 (1) 打开文件 fp = open("ceshi1.txt",mode="w",encoding="utf-8") (2)写入内容 fp.write("把大象塞进去") (3) 关闭文件 fp.colse() 2.文件的读取操作 # (1) 打开文件 fp = open("ceshi1.txt",mode="r",encoding="utf-8") # (2) 读取内容 res = fp.read() print(res) # (3) 关闭文件 fp.close() # 将字符串和字节流(Bytes流)类型进行转换 (参数写成转化的字符编码格式) #encode() 编码 将字符串转化为字节流(Bytes流) #decode() 解码 将Bytes流转化为字符串 strvar = "你好" # 将字符串转化为字节流 encode res = strvar.encode("utf-8") print(res) # b'\xe4\xbd\xa0\xe5\xa5\xbd' # 将Bytes流转化为字符串 decode res2 = res.decode("utf-8") print(res2

学习shell第五天

二次信任 提交于 2019-11-27 10:51:30
交互输入与for语句 一、交互输入read   read input()   read 命令同可以定义多个变量值;而输入的内容默认以空格为分隔符,将值输入到对应的变量中;   如果默认值过多,最后所有的值都会被赋予给最后一个变量;   如果默认值过少,多余的变量则为空值;   示例:     read a b c     aa bb cc   read如何输入:     echo "请输入一个目录:"     我们需要echo -n 取消换行符号     echo "请输入一个目录:";read变量     请输入一个目录:\etc     常用参数:       -p       read -p "请输入一个目录:"变量       -t 定义超时时间       read -t 5 -p "请输入一个目录:"变量          练习题:输入一个设备文件,输出这个设备文件的基本信息;   #!/bin/bash   #   read -t 5 -p "输入一个设备文件名:" devname   [-z $devnaem] && devname= `fdisk -l`   if [-b $devname];then     fdisk -l $devname     exit ()   else     echo"$devname 不是设备文件"     echo"Usage:

shell脚本8-15

主宰稳场 提交于 2019-11-27 10:43:01
交互输入与for语句(8-15) 交互输入 1、read的用法:read命令同时可以定义多个变量值,而输入的内容默认可以空格为分配符,将值输入到对应的变量中;如果默认值过多最后所有的值都会被赋予给最后一个变量 2、如果默认是过少,多余的变量则为空值。 3、实例 read a b c aa bb cc 4、Read如何输入:echo “请输入一个目录”(我们需要echo -n取消换行符号) Echo “请输入人一个目录:”read变量(请输入一个目录/etc) 5、常用参数:-p read -p “请输入一个目录”变量 -t 定义超时时间 read -t 5 -p“请输入一个目录:”变量 6、脚本默认值: 练习: 输入一个设备文件,输出这个设备文件的基本信息。 #!/bin/bash #输入一个设备文件,输出这个设备文件的基本信息。 read -t 5 -p "请输入一个设备文件名:" devname [ -z $devname ] && devname=`fdisk -l` if [ -b /dev/$devname ];then fdisk -l /dev/$devname exit 0 else echo "$devname不是设备文件" echo "Usage:'请输入一个设备文件,如sda'" fi 执行结果: 7、case语句的语法格式: case 变量 in

day20

走远了吗. 提交于 2019-11-27 10:30:35
目录 文件处理 什么是文件处理 什么是文件 操作文件的流程 打开文件 修改/读取文件 保存文件 关闭文件 文件的三种打开模式 读取 清空写入 追加写入 打开文件的两种方式 w和a模式可以自动创建文件 绝对路径和相对路径 文件的路径 绝对路径 相对路径 with管理文件上下文 文件的高级应用 可写可读 r+ 可写可读 w+ 可写可读 a+ 需要了解的 seek whence tell truncate read 登录注册 注册 登录 文件的修改 文件处理 什么是文件处理 修改存储的信息 什么是文件 操作系统提供的虚拟概念,存储信息(用二进制存储信息) 操作文件的流程 打开文件 ①文件路径②打开模式,w--》write③ f = open(r'C:\Users\qndn\PycharmProjects\untitled4\day20\01 文件处理.py','w',encoding='utf8') 修改/读取文件 f.write(''' 孩儿立志出湘关,学不成名誓不还 埋骨何须桑梓地,人生无处不青山 ''') 保存文件 f.flush() # 快速保存,你可以不适用 关闭文件 f.close() 文件的三种打开模式 读取/清空写入/追加写入 读取 rt --》read_text 读文本内容 只读 f = open(r'D:\上海python12期视频\python12期视频\day

Ceph Jewel版本三副本读操作流程

谁说胖子不能爱 提交于 2019-11-27 08:04:39
一、主OSD读处理流程 OSD::ms_fast_dispatch() |__OSD::dispatch_session_waiting() |__OSD::dispatch_op_fast() |__OSD::handle_op() |__OSD::get_pg_or_queue_for_pg() 找到OpRequest中对应的PG和Pool信息 |__OSD::enqueue_op() |__PG::queue_op() |__OSD::ShardedThreadPool::ShardedWQ::queue() 将PG和Op一起放入队列中 OSD::ShardedOpWQ::_process() 负责处理OSD::ShardedThreadPool::ShardedWQ队列中的Op |__PGQueueable::RunVis::operator()(const OpRequestRef &op) |__OSD::dequeue_op() |__ReplicatedPG::do_request() |__检查当前PG是否处于flush或peering状态,若是则将op放入waiting_for_peered队列中等待PG变成可用状态 |__检查当前PG是否处于Active状态,若不是则将op放入waiting_for_active队列中 |_

javaIO——PipedReader & PipedWriter

久未见 提交于 2019-11-27 07:30:29
  1. 概述:     PipedReader 和 PipedWriter,意为管道读写流。所谓管道,那就是有进有出,所以这也是它们跟其它流对象最显著的区别:PipedReader和PipedWriter必须成对使用才有意义。   2. 角色扮演:     PipedWriter 扮演生产者的角色,将字符数据写入到管道;PipedReader扮演消费者的角色,负责将数据从管道取出消费掉。   3. 数据结构:     要实现一个管道,至少需要三个要素:一个线性存储结构、一个写入位置标记、一个读取位置标记。java中把这三个要素放在了PipedReader中:          从代码注释可以看出,buffer[] 就是存储数据的线性结构、in 是写入的位置标记、out是读取的位置标记。"The circular buffer" 说明buffer数组是循环使用,那么肯定会牵涉到数据覆盖的问题,后文中会讲到怎么解决。注释中还说: in<0 表示管道为空(没有数据),in==out 表示管道满了。   4. 构造:     4.1. PipedWriter有两个构造方法,一个无参构造方法,一个带有一个PipedReader对象的构造方法。使用前者时只是单单构造一个Writer对象,没有建立连接,需要后续手动调用connect方法建立连接才能write数据

图论学习笔记

邮差的信 提交于 2019-11-27 07:14:18
最小生成树 Kruskal \(kruskal\) ,一种求最小生成树的算法,其思想与贪心有些相似,具体做法为:、 将边按照边权由小到大排序,每次拿出权值最小的一条边,看它连接的两个顶点是否在同一个连通块中(可以用并查集维护),如果在的话就不使用他,否则就加入生成树,一直加入到边数为 \(n - 1\) 结束 如何证明? 要我说我也说不明白,还是直接上图吧 图片来自: https://blog.csdn.net/weixin_43272781/article/details/83589394 复杂度: \(O(mlogm)\) 代码实现: #include <cmath> #include <cstdio> #include <iostream> #include <algorithm> using namespace std; inline int read() { char c = getchar(); int x = 0, f = 1; for( ; !isdigit(c); c = getchar()) if(c == '-') f = -1; for( ; isdigit(c); c = getchar()) x = (x <<3) + (x << 1) + (c ^ 48); return x * f; } const int N = 5011; const int M

相识python --------文件操作

帅比萌擦擦* 提交于 2019-11-27 03:49:23
文件操作 找回文件的位置 进行一些操作 r------ read w------write a-------追加 rb----读字节 wb ab r+ w+ a+ 关闭文件 open() 打开 open通过Python控制操作系统进行打开文件 file 文件的位置 mode 默认不写就是r encoding 文件的编码 文件只能读取一次 读操作 打开一个文件的(存储地址) f = open("D:\Python_s25\day08\小姐姐电话号",mode="r",encoding="utf-8") print (f.read()) 全部读取 print(f.read(3)) 按照字节读取 print(freadline()) 默认尾部有一个\n print(f.readline().strip()) 读取一行 将\n去除 print(f.readlines()) 一行一行的读 全部存储在列表中 绝对路径 open (r"r"D:\Python_s25\day08\t1",mode="r",encoding="utf-8")) print(f.read()) 相对路经 f = open ("t1",mode = "r",encoding = "utf-8") print (f.read()) 路经转义:. 1."D:\Python_s25\day08\t1" 2.r"D: