C语言实现的文件交互
- 计算机与外部设备的交互依靠文件完成
文件是记录在外部介质上的数据的集合;例如1.c 是源码 1.exe可执行的文件
- 文件的分类
按组织结构:
记录文件:有一定结构的文件,可以解析成字段值的文件;
流式文件:对于源代码一类的属于流式文件(由一个个字符,字节按顺序组成) 按存储介质:
普通文件---存储介质文件(磁盘,磁带)
设备文件---非存储介质如显示器,键盘 打印机 按组织形式:
二进制文件:数据按其在内存中的原始形态存放 如果存入123 直接换算成二进制形式
文本文件:ASCII文件每个字节存放一个字符的ASCII 码(例如在文本写入123 1对应ASCII 49 2对应50 3对应51 分别把49,50,51换算为二进制,并存入字节)
文件的出现便于信息共享,数据和程序分离,数据的改变不影响程序的改变,文件还便于保存中间结果
- 文件的标识符
也就是文件的后缀名,什么样的文件用什么样的标识符,由操作系统决定
- 流
简化了编程的过程,操作,读写设备就是操作,读写数据的过程,是否正确输入/输出了数据,流可以屏蔽技术细节,主要用于设备文件和系统的通信,只要按照统一接口,就可以操作设备,数据搬运的过程就是流,
无须关心I/O设备
- 文件处理
缓冲文件系统
下载文件十分伤害磁盘,这时文件缓冲区就派上了用场,不妨下载到一定程度,一并写入磁盘,主要是提升磁盘的寿命
.系统开辟内存缓冲区 .用户自己设定文件缓冲区
比如我们可以通过重定向把文件输出到相关设备文件
非缓冲文件系统
- 文件类型指针
void main()
{
char words[] = "喜欢企鹅人和谜语人\n";
fputs(words, stdout);//stdout就是屏幕显示器
FILE *p = stdout;
fputs("哦~尼格码!where are you?\n",p);
system("pause");
}
C语言实现的文件交互的更多相关文章
- (转)python中调用R语言通过rpy2 进行交互安装配置详解
python中调用R语言通过rpy2 进行交互安装配置详解(R_USER.R_HOME配置) 2018年11月08日 10:00:11 luqin_ 阅读数:753 python中调用R语言通过r ...
- c语言中的文件流
一.打开和关闭文件 #include int main( void ) { FILE* pReadFile = fopen( "E:\\mytest.txt", "r&q ...
- C语言样式的文件操作函数
使用C语言样式的文件操作函数,需要包含stdio.h头文件. 1.打开文件的函数: //oflag的取值为“w”或“r”,分别表示以写或读的方式打开 FILE* fd = fopen(filename ...
- c语言的头文件-不是c++类的头文件?
下面的概述是参考的这篇文章:http://blog.csdn.net/bingxx11/article/details/7771437 c语言编程中也有,也需要头文件, 头文件不只是C++的类才需要! ...
- C语言库函数--操作文件
//C库函数读取文件的代码 I/O缓冲机制 C语言库函数写文件都是写在内存中,然后一次写入磁盘.提高了效率. 读写文件,不对系统进行操作,一般采用C语言库函数.移植可以在任何可以对C支持的操作系统,而 ...
- Unix/Linux环境C编程入门教程(41) C语言库函数的文件操作详解
上一篇博客我们讲解了如何使用Linux提供的文件操作函数,本文主要讲解使用C语言提供的文件操作的库函数. 1.函数介绍 fopen(打开文件) 相关函数 open,fclose 表头文件 #in ...
- C语言处理CSV文件的方法(一)
什么是CSV文件 CSV是 Comma-separated values (逗号分隔值)的首字母缩写,它通常是以逗号且不仅限于逗号分隔各个值,我们都叫他CSV. 看下面的例子: China, Shan ...
- Unix/Linux环境C编程新手教程(41) C语言库函数的文件操作具体解释
上一篇博客我们解说了怎样使用Linux提供的文件操作函数,本文主要解说使用C语言提供的文件操作的库函数. 1.函数介绍 fopen(打开文件) 相关函数 open,fclose 表头文件 #in ...
- C语言检测指定文件是否存在的代码
内容之余,将做工程过程中比较常用的一些内容片段珍藏起来,下面资料是关于C语言检测指定文件是否存在的内容,希望能对小伙伴们有所用. #include <stdbool.h> #include ...
随机推荐
- 点击 显示红色 小案例 vue
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- K8S从入门到放弃系列-(12)Kubernetes集群Coredns部署
摘要: 集群其他组件全部完成后我们应当部署集群 DNS 使 service 等能够正常解析,1.11版本coredns已经取代kube-dns成为集群默认dns. 1)下载yaml配置清单 [root ...
- 了解 DML、DDL、DCL
一.DML DML(Data Manipulation Language)数据操纵语言: 最经常用到的 SELECT.UPDATE.INSERT.DELETE. 主要用来对数据库的数据进行一些操作 S ...
- redis批量删除键的操作
网上也有很多关于批量删除的命令,例如,我们要删除以KEY开头的键.linux系统中当屏幕显示127.0.0.1:6379时,采用如下命令 redis-cli -h 192.168.1.1 -p 637 ...
- C++:标准C函数(随机数,时间函数)
介绍 ANSI组织定义了C标准和标准库函数. 使用标准C函数优点: 使用标准C函数在任何平台上都支持,使得同一个源码,在Windows编译运行的结果和Linux上编译运行结果相同,无需更改代码. 随机 ...
- python学习-39 生成器总结
总结 1.语法上和函数类似:生成器函数和常规函数几乎是一样的.它们都是使用def语句进行定义,差别在于,生成器使用yield语句返回一个值,常规函数使用return语句返回一个值. 2.自动实现迭代器 ...
- 【轻松一刻】Java制作字符动画
前言 今晚闲来无事,整理了一下电脑中尘封已久的旧代码,看着那些年自己写过的代码,踩过的坑,顿时老泪纵横.正当在感叹之际,突然发现在“马克思”文件夹下出现了一个好玩的项目,那就是N年前刚学Java时写的 ...
- bootstrap实现Carousel旋转木马(焦点图)
引入bootstrap相关文件后,在html中写如下代码: <div class="col-lg-9" > <!-- Carousel============== ...
- # 机器学习算法总结-第九天(XGboost)
- Apache Log View 5.37破解笔记
i春秋作家:Sp4ce 之前说过要分享这个日志分析工具[记一次简单的攻击日志分析]的破解版,在破解的路上踩了几个坑,记录分享下. 0×00程序概述 原程序 大小: 2283672 字节文件版本: 5. ...