一.文件目录和目录文件的作用区别和联系

1.他们各自的概念和联系
文件目录:把所有的FCB组织在一起,就构成了文件目录,即文件控制块的有序集合
**FCB:**为了能对一个文件进行正确的存取,操作系统必须为文件设置用于描述和控制文件的数据结构,称之为“文件控制块(FCB)”。
**目录文件:**为了实现对文件目录的管理,通常将文件目录以文件的形式保持在外存,这个文件就叫目录文件。

二:C语言为什么要先open打开文件, 最后close关闭文件,为什么不直接read+文件名读文件

首先我们要先了解文件指针
文件指针是指向文件有关信息的指针, 这些信息包括:文件名状态当前位置, 他们保存在一个结构体中, 在使用时要先为他分配空间,用来存放相关的信息, 该结构体由系统定义, C语言规定该类型为FILE型

typedef struct
{short level;unsigned flags;char fd;unsigned char hold;short bsize;unsigned char *buffer;unsigned ar*curp;unsigned istemp;short tokenl;
}FILE;

在编写程序时不用将上面内容写出, 只需要写以下代码

FILE *fp;

打开文件的操作

FILE *fp;
fp = fopen(文件名, 使用方式);

即是

FILE *fp=fopen(char *filename,char *mode);
/*
filename:文件名,如“students.txt”。
mode:打开方式(读写方式,文件类型)
*/

文件关闭

fclose(FILE *fp)
一般,fclose(fp)应与fopen配对使用,特别是含有写方式的文件,若不关闭,可能会造成文件数据丢失。

配合文件指针可以进行一系列的操作
1.单字节输入输出 fgetc, fputc
2.字符串输入输出 fgets, fputs
3.格式化读写 fscanf, fprintf

ch = fprintf(文件类型指针, 格式化字符串, 输出列表);
例如:
fprintf(fp, "%d", i);
他的作用是将整型变量i以%d的格式输出到fp指向的文件中
相反
fscanf(fp, "%d", &i);
读入fp所指向文件中的i值

4 整块读写 fread fwrite

fread(buffer, size, count, fp);
从fp所指向的文件中读入count次, 每次读写size字节, 读入的信息存在buffer中fwrite(buufer, size, count, fp);
将buffer的地址开始的信息输出count次, 每次写size字节到fp所指向的文件中

5.指针移动, 实现随机读取

#include <stdio.h>
int main()
{  FILE *fp;int c;fp=fopen("handsomehuang.txt","r");fgetc(fp);fgetc(fp);rewind(fp);//文件指针重置为0 printf("%c",fgetc(fp));fclose(fp);
}

检测文件是否读到末尾

#include <stdio.h>
int main()
{  FILE *fp;fp=fopen("handsomehuang.txt","r");while(!feof(fp)){   printf("%c",fgetc(fp));}fclose(fp);
}
/*
feof是C语言标准库函数,其原型在stdio.h中,其功能是检测流上的文件结束符,如果文件结束,则返回非0值,否则返回0(即,文件结束:返回非0值,文件未结束,返回0
*/

6.文件的定位 fseek函数

fseek(文件类型指针, 位移量, 起始点);

该函数的作用是移动文件内部的位置指针。其中,“ 文件类型指针”指向被移动的文件:“位移量”表示移动的字节数,要求位移量是long型数据,以便在文件长度大于64KB时不会出错。当用常量表示位移量时,要求加后缀 “L";“起始点”表示从何处开始计算位移量,规定的起始点有文件首、文件当前位置和文件尾3种

fseek(fp,-20L,1);表示将位置指针从当前位置向后退20个字节。

7.ftell函数

ftell函数的一般形式如下:
long ftell(文件类型指针);

该函数的作用是得到流式文件中的当前位置,用相对于文件开头的位移量来表示。当返回值是-1L 时, 表示出错

文件目录和目录文件的作用区别和联系 C语言文件相关操作 FILE用法相关推荐

  1. linux中profile文件作用,解析Linux系统中bashrc和profile文件的作用区别

    使用终端ssh登录Linux操作系统的控制台后,会出现一个提示符号(例如:#或~),在这个提示符号之后可以输入命令,Linux根据输入的命令会做回应,这一连串的动作是由一个所谓的Shell来做处理. ...

  2. c语言file的作用是什么意思,C语言文件操作之文件打开方式

    贴上一段: fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen(文件名,打开文件方式); 其中, "文件指针名"必须是被说明为FILE类型的指针变量: & ...

  3. Java文件和文件夹的区别_Java面试系列-webapp文件夹和WebContent文件夹的区别?-kingsoft是什么文件夹...

    我的程序员面试系列 面试题:Java Web Project里我们会遇到下面两种文件夹:webapp和WebContent. 这两个文件夹下都有个字文件夹WEB-INF,里面都有web.xml.为什么 ...

  4. ashx PHP文件 优劣,.NET_ashx介绍以及ashx文件与aspx文件之间的区别,ashx是什么文件? .ashx 文件用于 - phpStudy...

    ashx介绍以及ashx文件与aspx文件之间的区别 ashx是什么文件? .ashx 文件用于写web handler的..ashx文件与.aspx文件类似,可以通过它来调用HttpHandler类 ...

  5. c语言中用来指示文件缓冲区中具体读写位置,C语言文件读写操作中缓冲区问题和setbuf函数详解...

    清除和设置文件缓冲区 (1).清除文件缓冲区函数: int fflush(FILE *stream); int flushall(); fflush()函数将清除由stream指向的文件缓冲区里的内容 ...

  6. c语言删除文件remove_C语言文件的打开和关闭,C语言文件操作

    文件代表一系列的字节.函数 fopen()将一个文件和一个流关联起来,并初始化一个类型为 FILE 的对象,该对象包含了控制该流的所有信息.这些信息包括指向缓冲区的指针:文件位置指示器,它指定了获取文 ...

  7. python创建和删除文件有什么区别_python创建和删除文件

    #!/usr/bin/python #-*-coding:utf-8-*- #指定编码格式,python默认unicode编码 import os directory = "./dir&qu ...

  8. php投票系统中各个文件的作用说明,简述一些php对文件的操作,投票活动的实现...

    任何的程序和软件都是离不开对文件的操作的,其实说的通俗了一点,所有的程序其实都是对文件的操作,都是对文件中等的某些字符的操作.当然说到文件就有很多.Txt.doc.sql.ini等的文本文件gif.j ...

  9. c语言iomanip头文件的作用,#includeiomanip.h在C语言中代表什么

    满意答案 tracyofme 2013.12.01 采纳率:44%    等级:11 已帮助:4995人 iomanip.h是I/O流控制头文件,就像C里面的格式化输出一样. 在新版本的c++中头文件 ...

最新文章

  1. 热点:3个故事概览突飞猛进的肠道病毒组研究
  2. cmake简明使用指南
  3. python怎么计算时间_python怎么计算若干分钟后是第几天,星期几
  4. 完全背包问题从简单到复杂
  5. 远程工具连接mysql备份_MySQL远程连接 备份还原
  6. Ubuntu宿主机与VMware中其他系统虚拟机的互通
  7. javafx swing_Swing应用程序中的JavaFX 8 DatePicker
  8. Apollo自动驾驶入门课程第⑩讲 — 控制(下)
  9. LeetCode 2039. 网络空闲的时刻(BFS)
  10. 安装ElasticSearch过程遇到的坑
  11. 一个没有经验的前端工程师,写CSS的时候有什么常见通病?
  12. Ubuntu 16.04中iptables的工具简介(iptables/iptables-restore/iptables-xml/iptables-apply/iptables-save)...
  13. a form 出口享惠情况_次磷酸8类危险品海运出口
  14. 利用 Chrome 的打印功能将网页保存为 PDF
  15. 安徽太极计算机 刘建春,阅读理解的检测作业
  16. sql server 字符串转成日期格式
  17. SQL模糊查询时LIKE怎样跟变量
  18. ubuntu 笔记本亮度调节
  19. python隐藏手机号码程序_Python网站手机号码解密的一种方法
  20. win10快速关机_WIN10系统几种方便快速的关机方式

热门文章

  1. 微软官方32位版Windows Server 2008下载
  2. 济宁市计算机技能大赛,技能大赛做“试金石”,济宁市技师学院培养一流人才...
  3. 每周推荐 - 稻盛和夫的《活法》
  4. 彩虹外链网盘 全新界面 支持图片违规检测
  5. 骇客教学_大数据。 大骇客。 大云。 你准备好2016年吗?
  6. 灵图天行者9PC版、PPC版搜索不到卫星信号解决办法
  7. 联迪商用中标民生银行小微金融部智能POS采购项目
  8. selenium实战-同步网易云音乐歌单到qq音乐
  9. 强大的jQuery幻灯片播放插件 支持全拼、拖拽和下载等功能
  10. 2021最新 北京互联网公司