我是靠谱客的博主 平淡母鸡,最近开发中收集的这篇文章主要介绍趣学 C 语言(十二)—— 文件操作,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

对于 C 语言而言,无论是标准输入 stdin,还是标准输出 stdout,还是标准错误输出 stderr,本质上都是一种文件操作,只不过读写的文件变成了控制台(console),或者说 stdin/stdout/stderr 是一种特殊的文件流,这三者出现的地方都可替换为相应的文件操作。

printf(const char *, ...) == fprintf(stdout, const char *, ...)scanf(const char*, ...) == fscanf(stdin, const char *, ...)

控制台是特殊的文件,理论上,凡是针对控制台的读写操作,都是转化为对相应文件流的文件操作,控制台输入 ⇒ stdin,控制台输出 ⇒ stdout,控制台错误输出 ⇒ stderr。

FILE 结构体

#ifndef _FILE_DEFINED
struct _iobuf {
        char *_ptr;
        int   _cnt;
        char *_base;
        int   _flag;
        int   _file;
        int   _charbuf;
        int   _bufsiz;
        char *_tmpfname;
        };
typedef struct _iobuf FILE;
#define _FILE_DEFINED
#endif

文件缓冲系统

C 语言对文件的操作使用了缓冲文件系统,所谓缓冲文件系统是指系统自动在内存之中,为每一个正在使用的文件开辟一个缓冲区,从内存向磁盘输出数据必须先送到内存中的缓冲区装满缓冲区之后才一起送到磁盘区。读取也是如是。

如果想要即可写入到磁盘,

fclose(fp);

关闭文件,表示文件写入操作已经完成。

如果在 fclose 关闭文件之后,还想继续写入的话,就需再次打开,十分不便,有时我们需要对文件进行多次操作,但我们不希望每次操作都关闭文件,此时我们可利用另一个文件操作,

fflush(fp);

刷新缓冲区,将缓冲区的数据写入磁盘上的文件。

最后

以上就是平淡母鸡为你收集整理的趣学 C 语言(十二)—— 文件操作的全部内容,希望文章能够帮你解决趣学 C 语言(十二)—— 文件操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部