【C初阶】文件操作管理

简介: 【C初阶】文件操作管理

1.使用文件的意义

用于处理大型数据,长久性的存储数据、

2.文件的概念

文件:电脑硬盘上的存储数据的文件

分类

按照内容:程序文件、数据文件

按照形式:文本文件、二进制文件

文件名:文件的唯一标识,一般按照路径+文件名主体+后缀组成

// · 表示当前路径

//··表示上一级路径

3.流

流:是一种便于程序员对于各种输入输出设备的不同交互。

流的具体定义:Pointer to a FILE object that identifies an input stream.

标准流:属于流的一种,stdin(标准输入)、stdout(标准输出)、stderr(标准错误)

FILE:是C语言内置结构体,用来在程序运行时候在内存开辟一块空间存放文件结构体变量,对里面各种参数进行记录以便来维护文件。

FILE*:便于维护文件结构体的指针。

4.文件的打开与关闭

文件打开函数:fopen

LINK

文件关闭函数:fclose

LINK

5.文件的读写

文件可以用程序进行读写操作,为了便于文件读写,C语言为我们提供了一系列库函数:

eg:fgetc与fputc

LINK

LINK

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
  //创建test文件
  FILE* pf = fopen("test.txt", "w");
  fclose(pf);
  pf = NULL;
  
  //将10086写到test文件中
  FILE* pwrite = fopen("test.txt", "w");
  fputc('1', pwrite);
  fputc('0', pwrite);
  fputc('0', pwrite);
  fputc('8', pwrite);
  fputc('6', pwrite);
  fclose(pwrite);
  pwrite = NULL;
  //将test文件内容读到屏幕上
  FILE* pread = fopen("test.txt", "r");
  fprintf(stdout,"%c", fgetc(pread));
  fprintf(stdout,"%c", fgetc(pread));
  fprintf(stdout,"%c", fgetc(pread));
  fprintf(stdout,"%c", fgetc(pread));
  fprintf(stdout,"%c", fgetc(pread));
  fclose(pread);
  pread = NULL;
  return 0;
}

为了便于文件读写,C还提供了可以在文件中移动光标位置的库函数:fseek LINK

因为这个函数涉及到一些偏移量的问题,C也提供了一个专门计算偏移量的库函数:

ftell LINK

6.文件读写结束的判定

feof函数LINK

ferror函数LINK

rewindLINK

7.文件缓冲区

#include <stdio.h>
#include <windows.h>
//VS2019 WIN11环境测试
int main()
{
FILE*pf = fopen("test.txt", "w");
fputs("abcdef", pf);//先将代码放在输出缓冲区
printf("睡眠10秒-已经写数据了,打开test.txt⽂件,发现⽂件没有内容\n");
Sleep(10000);
printf("刷新缓冲区\n");
fflush(pf);//刷新缓冲区时,才将输出缓冲区的数据写到⽂件(磁盘)
//注:fflush 在⾼版本的VS上不能使⽤了
printf("再睡眠10秒-此时,再次打开test.txt⽂件,⽂件有内容了\n");
Sleep(10000);
fclose(pf);
//注:fclose在关闭⽂件的时候,也会刷新缓冲区
pf = NULL;
return 0;

EOF

相关文章
|
编译器 数据库 C语言
C语言文件操作(一文带你吃透文件各种操作)
有很多学校都是不会讲文件操作这块知识的,但是考试还要考。文件操作在平常中也是有所应用的。这篇文章详细讲述对于文件的各种操作,对于考试和平常引用是完全足够啦!
112 0
|
8月前
|
存储 程序员 C语言
C语言之详细讲解文件操作(抓住文件操作的奥秘)
C语言之详细讲解文件操作(抓住文件操作的奥秘)
59 0
|
5月前
|
C语言 索引
【C语言】文件操作全解速览
【C语言】文件操作全解速览
44 0
|
7月前
|
存储 C语言 C++
【C语言基础】:文件操作详解(前篇:准备知识)
【C语言基础】:文件操作详解(前篇:准备知识)
|
8月前
练习所学文件操作的相关函数
上上篇文章,我们介绍了文件和文件操作函数,现在我们来练习一下所学文件操作的相关函数吧! 实践出真知~
41 0
|
8月前
|
C语言
C语言——通讯录实现(增删查改+动态管理+文件操作)
C语言——通讯录实现(增删查改+动态管理+文件操作)
|
存储 安全 C语言
C语言基础教学(文件操作)
C语言基础教学(文件操作)
126 0
|
BI
【文件操作的重难点详解】(一)
【文件操作的重难点详解】(一)
76 0
|
存储
【文件操作的重难点详解】(二)
【文件操作的重难点详解】(二)
73 0
|
存储 编译器 数据库
C语言进阶之文件操作及改造通讯录(上)
我们前面学习结构体时,写通讯录的程序,当通讯录运行起来的时候,可以给通讯录中增加、删除数据,此时数据是存放在内存中,当程序退出的时候,通讯录中的数据自然就不存在了,等下次运行通讯录程序的时候,数据又得重新录入,如果使用这样的通讯录就很难受。

热门文章

最新文章