当前位置: 首页 > news >正文

做网站公司(深圳信科)易企查

做网站公司(深圳信科),易企查,微信手机版网站建设,滕州网站优化1.概念:1. IO指input/output 2. Linux系统中一切皆是文件 3. IO操作的对象是文件2文件1. 一段数据的集合 2. 文件通常存放在外存中,掉点后数据不会丢失 3. 分类: b(block,块设备文件) 按块扫描信息的文件&a…

1.概念:

1. IO指input/output
2. Linux系统中一切皆是文件
3. IO操作的对象是文件

 2文件

1. 一段数据的集合
2. 文件通常存放在外存中,掉点后数据不会丢失
3. 分类:
b(block,块设备文件)
按块扫描信息的文件,称为块设备文件。通常存储类型的设备通常为块设备文件
文件IO
c(character,字符设备文件)
按字符扫描信息的文件,称为字符设备文件。一般设备通常为字符设备文件
文件IO
d(directory,目录文件)
目录文件,存放文件的文件夹
目录IO/文件IO
-(普通文件)
存放信息的文件
标准IO/文件IO
l(link,链接文件)
操作文件等价于操作文件指向的文件
链接IO/文件IO
s(socket,套接字文件)
用来进程间通信
文件IO
p(pipe,管道文件)
用来进程间通信
文件IO

3.标准IO

1.概念:

通常用来操作普通文件

2.普通文件类型

1. ASCII码文件:文件中的所有内容均为能够在屏幕上显示的ASCII码字符
程序、文本文件均为ASCII码文件
2. 二进制文件:文件中的所有内容均为数据对应的二进制形式存放(包含一些不能在界面上显示的内
容)
ASCII码文件也是二进制文件
图片、音视频、压缩包均为二进制文件

3.标准IO的接口:

1. fopen/fclose
2. fgetc/fputc
3. fgets/fputs
4. fscanf/fprintf
5. fread/fwrite
6. fseek/rewind/ftell
7. 操作步骤:
1. 打开文件
2. 读写文件
3. 关闭文件

4. 文件的打开

1. 函数接口:
1. fopen:

原型:FILE *fopen(const char *pathname, const char *mode);
功能:
打开pathname指向字符串对应的文件,并且和它建立一个流
参数:
pathname:要打开的文件路径字符串
mode:打开的方式
r 只读 文件存在只读打开,文件不存在报错
r+ 读写 文件存在读写打开,文件不存在报错
w 只写 文件存在清0,文件不存在创建,只写打开
w+ 写读 文件存在清0,文件不存在创建,写读打开
a 追加 文件存在追加,文件不存在创建,只写打开
a+ 追加读写 文件存在追加,文件不存在创建,写读打开
返回值:
成功返回FILE*指针
失败返回NULL

        2. fclose:

原型:int fclose(FILE *stream);
功能:
关闭已经打开的流
参数:
stream:文件流指针
返回值:
成功返回0,失败返回EOF(-1)

        3. fputc

原型:int fputc(int c, FILE *stream);
功能:
将字符c写入流中
参数:
c:要写入的字符
stream:文件流指针
返回值:
成功返回输出的ASCII码值
失败返回EOF

        4. fgetc

原型:int fgetc(FILE *stream);
功能:
读取流中的下一个字符
参数:
stream:文件流指针
返回值:
成功返回读到字符的ASCII码值
失败或者读到文件末尾返回EO

        5. fputs

原型:int fputs(const char *s, FILE *stream);
功能:
向流中写入s指向的字符串
参数:
s:要写入的字符串的首地址
stream:文件流指针
返回值:
成功返回非负数
失败返回EOF

        6. fgets

原型:char *fgets(char *s, int size, FILE *stream);
功能:
从流中最多读size-1个字节数据放入s指向的空间中,遇到\n读取截止
参数:
s:存放数据空间的首地址
size:最多存放元素的个数
stream:文件流指针
返回值:
成功返回存放数据空间的首地址
失败返回NULL
读到文件末尾返回NULL

        7. fprintf        

原型:int fprintf(FILE *stream, const char *format, ...);
功能:
将格式化的字符串打印在流中
参数:
stream:文件流指针
format:格式化的字符串
...:参数
返回值:
成功返回打印字符的个数
失败返回负数

        8. fscanf

原型:int fscanf(FILE *stream, const char *format, ...);
功能:
从流中接收格式化的字符串
参数:
stream:文件流指针
format:格式化字符串
...:参数
返回值:
成功返回匹配的输入控制符的个数
失败返回EOF
读到文件末尾返回EOF

        9. fwrite

原型:size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE
*stream);
功能:
向流中写入ptr指向的nmemb个对象,每个对象size个字节
参数:
ptr:指向数据空间的首地址
size:写入的每个对象的大小
nmemb:写入对象的个数
stream:文件流指针
返回值:
成功返回实际写入对象的个数
失败返回0

        10. fread

原型:size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
功能:
从流中读取nmemb个对象到ptr指向的空间中,每个对象size个字节
参数:
ptr:存放数据空间的首地址
size:读取对象的字节大小
memb:读取对象的个数
stream:文件流指针
返回值:
成功返回读到对象的个数
失败或者读到文件末尾返回

2. 已经打开的三个特殊的流:
stdin:标准输入流;
stdout:标准输出流;
stderr:标准出错流;
printf、puts、putchar都是通过stdout流实现在终端信息打印;
scanf、gets、getchar都是通过stdin流实现获得终端信息;
perror通过stderr流实现在终端打印出错信息;

5.标准IO的缓存

        1. 标准IO缓存:
标准IO是一种有缓存的IO
效率高
实时性差
2. 缓存的类型:
1. 全缓存(4k):
缓存区满刷新缓存
刷新条件:
缓存区满4k刷新
fflush函数强制刷新
fclose或者程序关闭刷新
与文件建立的缓存一般为全缓存
遇到\n刷新缓存区
刷新条件:
缓存区满1k刷新
遇到\n刷新
fflush函数强制刷新
fclose或者程序关闭刷新
与终端建立的缓存一般为行缓存(stdin、stdout均为行缓存)
. 不缓存(0k):
立即刷新不缓存
刷新条件:
不缓存立即刷新
2. 行缓存(1k):1
出错处理或者人机交互一般使用不缓存(stderr不缓存)

6.流的定位

1. 概念:
设置流的偏移量
2. 偏移量的设置:
1. fseek

原型:int fseek(FILE *stream, long offset, int whence);
功能:
设置流的偏移量的标识
参数:
stream:文件流指针
offset:偏移量
> 0 向后偏移
< 0 向前偏移
whence:标识
SEEK_SET 文件开头
SEEK_CUR 当前位置
SEEK_END 文件末尾
返回值:
成功返回0 失败返回-1

        2. ftell

原型:long ftell(FILE *stream);
功能:
获得流的偏移量
参数:
stream:文件流指针
返回值:
成功返回流的偏移

        3. rewind

原型:void rewind(FILE *stream);
功能:
将流重新定位到开头

4.文件IO

1.概念

标准IO是有缓存的IO,文件IO没有缓存,适合于通信、硬件设备操作
标准IO是库函数,文件IO是系统调用

2.系统调用与库函数

系统调用:是Linux内核中的代码,只能在Linux系统中使用
库函数:是对系统调用的封装,可以在不同的操作系统中安装并使用,库函数最终还是要调用系统
调用完成对应功能

3.文件IO函数接口

        1. 函数接口

标准IO 文件IO
fopen open
fclose close
fgetc/fputc read/write
fgets/fputs
fscanf/fprintf
fread/fwrite
fseek/ftell/rewind lseek

        2. 文件打开:

原型:
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
功能:
打开文件获得操作文件的文件描述符
参数:
pathname:要打开的文件路径
flags:打开文件的标志,必须包含三者之一
O_RDONLY
O_WRONLY
O_RDWR
O_CREAT 文件不存在创建(注意要给定创建文件的权限)
O_TRUNC 文件存在截断为0(清0)
O_APPEND 追加
O_EXCL 文件存在报错
返回值:
成功返回新文件描述符
失败返回-1

        3. 关闭文件描述符

原型:int close(int fd);
功能:
关闭文件描述符

4.4.请写出标准IO对应的文件IO的打开方式

标准IO文件IO
rO_RDONLY
r+O_RDWR
wO_WRONLY | O_CREAT | O_TRUNC , 0664
w+O_RDWR | O_CREAT | O_TRUNC, 0664
aO_WRONLY | O_APPEND | O_CREAT, 0664
a+O_RDWR | O_APPEND | O_CREAT, 0664

5. 文件IO读写
1. write

原型:ssize_t write(int fd, const void *buf, size_t count);
功能:
向文件描述符中写入buf指向的count个字节的数据
参数:
fd:文件描述符
buf:要写入的数据空间首地址
count:要写入的字节数
返回值:
成功返回实际写入的字节数
失败返回-1

        2. read

原型:ssize_t read(int fd, void *buf, size_t count);
功能:
从文件描述符中读取count个字节放入buf指向的空间中
参数:
fd:文件描述符
buf:存放数据空间的首地址
count:想要读取的字节数
返回值:
成功返回实际读到的字节数
读到文件末尾返回0
读取出错返回-1

6. 文件描述符偏移量的定位
1. lseek

原型:off_t lseek(int fd, off_t offset, int whence);
功能:
重新定位流的偏移量
参数:
fd:文件描述符
offset:偏移量
whence:
SEEK_SET
SEEK_CUR
SEEK_END
返回值:
成功返回偏移量
失败返回-1

7. 文件IO与标准IO互相转换的函数
1. fileno
功能:根据文件流指针获得文件描述符
2. fdopen
功能:根据已经打开的文件描述符获得文件流指针
3. feof
功能:判断文件流指针是否到达末尾
4. ferror
功能:判断文件流指针是否出错

http://www.dtcms.com/a/500580.html

相关文章:

  • 深圳企业网站设计个人博客网页模版
  • 微网站需松阳县建设局网站
  • 深圳住房和建设局网站无法登陆哈尔滨网站建设如何
  • AI技术认可与人机协作探讨
  • 【TypeScript】TypeScript映射类型模式(十三)
  • 嘉兴网站建设嘉兴网站推广万维网官方网站
  • 字体系统完整指南
  • Linux中初始化空循环次数和pid位图初始化
  • js网站模板下载天水有做网站的地方吗
  • 做门户网站最重要的是什么公司网站建设存在问题
  • 广元网站建设专业人员wordpress没有写权限
  • 沈阳高端网站设计中信建设有限责任公司领导班子
  • 福州最好的网站建设公司山西国人伟业网站
  • wap网站价格怎么做好网络销售
  • 用dw制作影视网站怎样做平台代理是什么工作
  • 一般的学校网站怎么做网站建设学什么语言
  • 专业微网站建设公司首选百度后台登录
  • 免费网站怎么注册.net可以做网站做游戏 博客园
  • 网站开发接入本地天地图东莞食品公司东莞网站建设
  • Linux文件处理
  • LeetCode 刷题【124. 二叉树中的最大路径和、125. 验证回文串】
  • 股票网站建设ppt素材大全免费下载
  • 国内企业网站建设装修app排行榜前5名
  • 成都金融网站建设公司排名北京网页设计公司兴田德润怎么样
  • 网站外链接自己可以怎么做的做的网站怎么上传图片
  • 网页制作中的网站维护阿里巴巴国际站跨境电商平台
  • 建设网站 请示 报告wordpress微信关注查看
  • DEM生产坡度图、坡向图、山体阴影图、地形图、等高线图原理以及如何实现
  • java.time 包详解
  • 网站发布的方法有几种临沂建设局网站质量三监督