read函数的 用法
linux read函数
read函数(读取文件)
read函数可以读取文件。读取文件指从某一个已打开地文件中,读取一定数量地字符,然后将这些读取的字符放入某一个预存的缓冲区内,供以后使用。
使用格式如下:
number = read( ...
read函数(读取文件)
read函数可以读取文件。读取文件指从某一个已打开地文件中,读取一定数量地字符,然后将这些读取的字符放入某一个预存的缓冲区内,供以后使用。
使用格式如下:
number = read(handle, buffer ,n) ;
上述read调用函数中,各个参数的定义如下:
handle: 这是一个已经打开的文件句柄,表示从这个文件句柄所代表的文件读取数据。
buffer: 指缓冲区,即读取的数据会被放到这个缓冲区中去。
n: 表示调用一次read操作,应该读多少数量的字符。
number:表示系统实际所读取的字符数量。
假设某个文件的长度是600字符,而n的值是512,则在第1次调用读这个文件时,系统可以正常地读取512个字符地内容,并将这些字符数量传给number变量,因此number的值将变为88。要第2次读取这个文件时,因为文件已经没有内容可供读取了,此时系统会返回0给number。另外,如果读取文件失败,系统将返回-1给number。
比如一个有100个字节的文件,第一次读取10个字节,这时读取指针在第10个字节处。再次进行10个字节的读操作时,会接着第一次读的位置接着往后读。如果还想从开始读,可使用lseek函数定位。
Code:
#include "lyl.h"
#define BUF 512
main()
{
static char filename[]="t1.txt" ;
char buffer[BUF] ;
int handle ;
int i ;
int total = 0 ;
handle = open(filename,O_RDONLY) ;
if ( handle == -1 )
{
printf("[%s] create fail !!!!
",filename) ;
exit(1) ;
}
else
{
while( (i = read(handle,buffer,BUF) ) > 0 )
total =i ;
}
printf("The total character in 《%s》 is %d
",filename,total ) ;
exit(0) ;
}
程序执行结果:
The total character in 《t1.txt》 is 11
$cat t1.txt
1234567890
【 read系统调用】
功能描述:
从文件读取数据。
用法:
#include <unistd.h>
ssize_t read(int fd, void *buf, size_t count);
参数:
fd: 将要读取数据的文件描述词。
buf: 所读取到的数据的内存缓冲。
count: 需要读取的数据量。
返回说明:
成功执行时,返回所读取的数据量。失败返回-1,errno被设为以下的某个值
EAGAIN:打开文件时设定了O_NONBLOCK标志,并且当前没有数据可读取
EBADF:文件描述词无效,或者文件不可读
EFAULT:参数buf指向的空间不可访问
EINTR:数据读取前,操作被信号中断
EINVAL:一个或者多个参数无效
EIO:读写出错
EISDIR:参数fd索引的时目录
备注:
从串口读数据,只读一次,数据没有读全。加入while后,则数据读全了。
total_read_bytes=0;
while(read_bytes=read(fd_485,buffer1,256)>0)
{
memcpy(buffer2+total_read_bytes,buffer1,read_bytes);
total_read_bytes+=read_bytes;
}
for(i=0;i<total_read_bytes;i++)
printf("0x%02lx\n",buffer2[i]);
read函数的 用法相关推荐
- 关于C语言中的malloc和free函数的用法
一.malloc()和free()的基本概念以及基本用法: 1.函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针 ...
- Python assert断言函数及用法
Python assert断言函数及用法 Python assert 语句,又称断言语句,可以看做是功能缩小版的 if 语句,它用于判断某个表达式的值,如果值为真,则程序可以继续往下执行:反之,Pyt ...
- python中的counter()、elements()、most_common()和subtract()函数的用法
python中的counter().elements().most_common()和subtract()函数的用法 counter()方法: class collections.Counter([i ...
- Java正则表达式--Matcher.group函数的用法
https://www.cnblogs.com/jiafuwei/p/6080984.html Java正则表达式--Matcher.group函数的用法 原来,group是针对()来说的,group ...
- MapInfo中常用查询函数及用法
MapInfo中常用查询函数及用法: 函数用途 语法 备注 图层中选点 Str$(obj)="point": Str(String)表示字符串:point表示点: 图层中选线 St ...
- Oracle trunc()函数的用法
--Oracle trunc()函数的用法 /**************日期********************/ 1.select trunc(sysdate) from dual --20 ...
- php error log 函数,php日志函数error_log如何使用 php日志函数error_log用法介绍
php日志函数error_log如何使用?这篇文章主要介绍了php日志函数error_log用法,结合实例形式分析了php日志函数error_log相关的配置文件设置.函数功能.用法与使用注意事项,需 ...
- Python中的map()函数和reduce()函数的用法
Python中的map()函数和reduce()函数的用法 这篇文章主要介绍了Python中的map()函数和reduce()函数的用法,代码基于Python2.x版本,需要的朋友可以参考下
- php函数find的用法,c语言find函数的用法详解
c语言find函数的用法详解 C语言之find()函数 find函数用于查找数组中的某一个指定元素的位置. 比如:有一个数组[0, 0, 5, 4, 4]: 问:元素5的在什么位置,find函数 返回 ...
- python字符串find函数-python字符串查找函数的用法详解
python字符串查找函数的使用 打开Python开发工具IDLE,新建"findstr.py'文件,并写代码如下: s ='/ab/bx,.s' print (s.find('/x')) ...
最新文章
- 关于使用旋转四元数绕轴旋转θ角度时,使用参数是θ/2的理解
- 深入了解crc32算法
- vue设置textarea最大字数_【Vue 学习】 Vue常用系统指令
- springboot请求处理
- springboot的异常处理
- kasp技术原理_KASP基因分型
- 国内国外很火爆的代码生成器
- 计算机管理内默认共享,Win10共享默认在哪里关闭 清除默认共享哪种方法比较彻底...
- Java中实现银行ATM 模拟银行账户业务实现存款、取款和余额查询。
- 仿剩余金额宝数字渐慢跳动效果
- 信息学奥赛一本通1055《判断闰年》C++方法+Python方法
- linux模拟usb发包,Linux下USB模拟ps2鼠标驱动
- 库 家庭组 计算机 网络,Windows 8家庭组网络连接功能详解
- Amazon Advantage 可通过EDI实现哪些业务单据对接?
- python批量打印网页_web 批量打印
- Springboot毕设项目具有智能推荐功能的外卖点餐系统bia14(java+VUE+Mybatis+Maven+Mysql)
- squid回源延迟读
- 【python】开发制作的急速快搜软件。
- 面向对象程序设计方法RPG小游戏实例
- uniapp小程序图片前端压缩上传