c语言中的文件流总结

C语言文件流(字节流) IO 操作(二) —— 初识“流”以及文件的顺序读写(fgetc / fgets / fscanf / fread ) 初步认识流的概念,以及介绍C语言的几种读/写文件的函数 阅读详情

clearerr(清除文件流的错误旗标)
相关函数 feof
表头文件 #include<stdio.h>
定义函数 void clearerr(FILE * stream);
函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。
返回值
 
fclose(关闭文件)
相关函数 close,fflush,fopen,setbuf
表头文件 #include<stdio.h>
定义函数 int fclose(FILE * stream);
函数说明 fclose()用来关闭先前fopen()打开的文件。此动作会让缓冲区内的数据写入文件中,并释放系统所提供的文件资源。
返回值 若关文件动作成功则返回0,有错误发生时则返回EOF并把错误代码存到errno。
错误代码 EBADF表示参数stream非已打开的文件。
范例 请参考fopen()。
 
fdopen(将文件描述词转为文件指针)
相关函数 fopen,open,fclose
表头文件 #include<stdio.h>
定义函数 FILE * fdopen(int fildes,const char * mode);
函数说明 fdopen()会将参数fildes 的文件描述词,转换为对应的文件指针后返回。参数mode 字符串则代表着文件指针的流形态,此形态必须和原先文件描述词读写模式相同。关于mode 字符串格式请参考fopen()。
返回值 转换成功时返回指向该流的文件指针。失败则返回NULL,并把错误代码存在errno中。
范例
#include<stdio.h>
main()
{
FILE * fp =fdopen(0,”w+”);
fprintf(fp,”%s\n”,”hello!”);
fclose(fp);
}

执行 hello!

feof(检查文件流是否读到了文件尾)
相关函数 fopen,fgetc,fgets,fread
表头文件 #include<stdio.h>
定义函数 int feof(FILE * stream);
函数说明 feof()用来侦测是否读取到了文件尾,尾数stream为fopen()所返回之文件指针。如果已到文件尾则返回非零值,其他情况返回0。
返回值 返回非零值代表已到达文件尾。
 
fflush(更新缓冲区)
相关函数 write,fopen,fclose,setbuf
表头文件 #include<stdio.h>
定义函数 int fflush(FILE* stream);
函数说明 fflush()会强迫将缓冲区内的数据写回参数stream指定的文件中。如果参数stream为NULL,fflush()会将所有打开的文件数据更新。
返回值 成功返回0,失败返回EOF,错误代码存于errno中。
错误代码 EBADF 参数stream 指定的文件未被打开,或打开状态为只读。其它错误代码参考write()。
 
fgetc(由文件中读取一个字符)
相关函数 open,fread,fscanf,getc
表头文件 include<stdio.h>
定义函数 nt fgetc(FILE * stream);
函数说明 fgetc()从参数stream所指的文件中读取一个字符。若读到文件尾而无数据时便返回EOF。
返回值 getc()会返回读取到的字符,若返回EOF则表示到了文件尾。
范例
#include<stdio.h>
main()
{
FILE *fp;
int c;
fp=fopen(“exist”,”r”);
while((c=fgetc(fp))!=EOF)
printf(“%c”,c);
fclose(fp);
}

fgets(由文件中读取一字符串)
相关函数 open,fread,fscanf,getc
表头文件 include<stdio.h>
定义函数 har * fgets(char * s,int size,FILE * stream);
函数说明 fgets()用来从参数stream所指的文件内读入字符并存到参数s所指的内存空间,直到出现换行字符、读到文件尾或是已读了size-1个字符为止,最后会加上NULL作为字符串结束。
返回值 gets()若成功则返回s指针,返回NULL则表示有错误发生。
范例
#include<stdio.h>
main()
{
char s[80];
fputs(fgets(s,80,stdin),stdout);
}

执行 this is a test /*输入*/
this is a test /*输出*/

 

C语言的流和文件 流是一个连接输入源与输入缓冲区、输出缓冲区与输出目的地的管道。如果不使用缓冲区,流则直接连通输入源和输出目的地。磁盘上的文件是常用的输入源和输出目的地。 阅读详情

相关推荐

采用MPU6050的手势遥控器

随着社会的发展与进步,电子产品日益更新,个人家庭迎来了越来越多的智能家电。然而,现在的智能电子设备产品的遥控器多数都是按键形的。操作繁琐不直观,学习成本大。并且对于有老人小孩的家庭,给他们的操作带来了巨大的障碍。手势遥控器是指利用简单的手势来指挥电子设备,获得便捷的操作体验。让家庭成员都可以享受科技发展带来的福利。MPU6050是一个运动传感器,内置陀螺仪,再由电子设备利用判断结果做出相应的响应即...

Sakura的博客小站 6577

C语言之fileno函数

open函数相关接口(open 是系统调用 返回的是文件句柄): #include <sys/stat.h> #include <fcntl.h> int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode); fopen函数相关接口(open是ANSIC标准中的C语言库函数,在不同的系统中应该调用不同的内核api): FILE *fo

ce123的技术博客 2276

科研党必备:5分钟搞定Arxiv论文批量导入NoteExpress(附PDF自动下载技巧)

本文为科研人员提供了一套高效的自动化工作流,实现从Arxiv批量检索论文、自动下载PDF到无缝导入NoteExpress的全过程。通过Python脚本和NASA ADS等工具,可大幅提升文献管理效率,特别适合需要追踪前沿动态的研究生和科研团队。

orange的博客 370

「数据结构」C语言文件流

「数据结构」C语言文件流 除了控制台输入和输出,对文件的读写也是需要掌握的内容。

Higomoro_Hibiki的博客 1030

【C/C++】freopen 函数和 fopen 函数|标准输入输入写入文件|屏幕输出写入文件

freopen 和 fopen 都是C的标准库函数被包含于C标准库头文件中。fopen就是我们最熟悉的打开一个文件用于写入or读取freopen 是打开一个文件,用于接收输入输出流的数据。

我的笔记本 2万+

freopen()实现标准输入流标准输出流重定向

stdin - "标准输入" stdout - "标准输出" stderr - "标准错误"r -"只读访问" w - "只写访问" a - "追加写入"实现重定向,把与定义的标准流文件定向到由path指定的文件中。标准流文件具体是指 stdin/stdout和stderr。* mode 文件打开的模式。*stream 一个文件,通常使用标准流文件。stdout标准输出流,默认是屏幕。stderr标准错误流,默认是屏幕。stdin标准输入流,默认是键盘。stdio.h或者cstdio。

m0_47525528的博客 679

C语言中的文件流

文章来源:http://blog.tianya.cn/blogger/post_read.asp?BlogID=3165401&PostID=26021791 所谓文件(file)一般指存储在外部介质上数据的集合,比如我们经常使用的mp3、mp4、txt、bmp、jpg、exe、rmvb等等。这些文件各有各的用途,我们通常将它们存放在磁盘或者可移动盘等介质中。那么,为什么这里面又有这么多种格式的

xingty的专栏 1万+

c语言中的文件流

一、打开和关闭文件 #include    int main( void )    {    FILE* pReadFile = fopen( "E:\\mytest.txt", "r" ); // 打开文件    if ( pReadFile == NULL ) return 0;...

weixin_34302798的博客 275

C语言中的文件是流式文件吗,c语言文件流

fopen()功能:打开流fopen的原型是:FILE *fopen(const char *filename,const char *mode),fopen实现三个功能:为使用而打开一个流,把一个文件和此流相连接,给此流返回一个FILR指针。参数filename指向要打开的文件名,mode表示打开状态的字符串,其取值如下:l"r" 以只读方式打开文件l"w" 以只写方式打开文件l"a" 以追加方...

weixin_30746159的博客 601

c语言中把文件看成什么流,C语言中的文件流

所谓文件(file)一般指存储在外部介质上数据的集合,比如我们经常使用的mp3、mp4、txt、bmp、jpg、exe、rmvb等等。这些文件各有各的用途,我们通常将它们存放在磁盘或者可移动盘等介质中。那么,为什么这里面又有这么多种格式的文件呢?原因很简单,它们各有各的用途,区分就在于这些文件里面存放的数据集合所遵循的存储规则不一样。举个例子比如bmp图片文件,为什么他能够表示一张图片,因为它有固...

weixin_42511121的博客 726

C语言中的检测文件流是否结束的函数feof

函数名: feof 功  能: 检测流上的文件结束符 用  法: int feof(FILE *stream); feof - 程序例 #include int main(void) {    FILE *stream;    /* open a file for reading */    stream = fopen("DUMMY.FIL

yuanya的专栏 4414

C语言中的文件流的输入和输出

1,从stdin流中读取字符串到指定buffer中,gets()和fgets()     gets()函数原型:char *gets(char *str)     fgets()函数原型:char *fgets(char *buf,int buf_size,FILE *stream)     平常使用的时候尽量避免使用gets()函数,因为gets()函数没有指定数据流的长度,而当stdin

Buyi_Shizi的博客 1630

第十一章 文件操作_C语言中的文件是什么?

我们对文件的概念已经非常熟悉了,比如常见的 Word 文档、txt 文件、源文件等。文件是数据源的一种,最主要的作用是保存数据。 在操作系统中,为了统一对各种硬件的操作,简化接口,不同的硬件设备也都被看成一个文件。对这些文件的操作,等同于对磁盘上普通文件的操作。例如: 通常把显示器称为标准输出文件,printf 就是向这个文件输出数据; 通常把键盘称为标准输入文件,scanf 就是从这个文件读取数据。 常见硬件设备所对应的文件 文件 硬件设备 stdin 标准输入文件,一般指键盘;sc

qq_43205256的博客 220

C语言中的文件是什么?

我们对文件的概念已经非常熟悉了,比如常见的 Word 文档、txt 文件、源文件等。文件是数据源的一种,最主要的作用是保存数据。 在操作系统中,为了统一对各种硬件的操作,简化接口,不同的硬件设备也都被看成一个文件。对这些文件的操作,等同于对磁盘上普通文件的操作。例如: 通常把显示器称为标准输出文件,printf 就是向这个文件输出数据; 通常把键盘称为标准输入文件,scanf 就是从这个文...

weixin_45743799的博客 2450

C语言fclose()函数:关闭文件流

头文件:#include fclose()函数用来关闭当前文件流,其原型为:     int fclose(FILE * stream); 【参数】stream为文件流指针。 【返回值】若关文件动作成功则返回0,有错误发生时则返回EOF,并把错误代码存到errno。 fclose()用来关闭fopen()打开的文件,此动作会让缓冲区内的数据写入文件中,并释放系统所提供的

飞翔的小鸟 1万+

74系列芯片datasheet技术手册资料总汇共包括240个74系列芯片手册.zip

74系列芯片datasheet技术手册资料总汇共包括240个74系列芯片手册:7400.pdf7401.pdf7402.pdf7403.pdf7404.pdf7406.pdf7408.pdf7409.pdf7410.pdf7411.pdf74121.pdf74132.pdf7414.pdf74153.pdf74155.pdf74180.pdf74191.pdf7420.pdf7426.pdf7427.pdf7430.pdf7432.pdf7438.pdf7445.pdf7474.pdf7475.pdf7476.pdf7485.pdf7486.pdf74HC00.pdf74HC02.pdf74HC03.pdf74HC04.pdf74HC05.pdf74HC08.pdf74HC107.pdf74HC109A.pdf74HC11.pdf74HC112.pdf74HC113.pdf74HC123A.pdf74HC125.pdf74HC126.pdf74HC132.pdf74HC133.pdf74HC137.pdf74HC138.pdf74HC139.pdf74HC14.pdf74HC147.pdf74HC148.pdf74HC149.pdf74HC151.pdf74HC153.pdf74HC154.pdf74HC155.pdf74HC157.pdf74HC161.pdf74HC163.pdf74HC164.pdf74HC165.pdf74HC166.pdf74HC173.pdf74HC174.pdf74HC175.pdf74HC181.pdf74HC182.pdf74HC190.pdf74HC191.pdf74HC192.pdf74HC193.pdf74HC194.pdf74HC195.pdf74HC20.pdf74HC221A.pdf74HC237.pdf74HC242.pdf74HC244.pdf74HC251.pdf74HC253.pdf74HC257.pdf74HC258.pdf74HC259.pdf74HC266A.pdf74HC27.pdf74HC273.pdf74HC280.pdf74HC283.pdf74HC299.pdf74HC30.pdf74HC32.pdf74HC34.pdf74HC354.pdf74HC356.pdf74HC365.pdf74HC366.pdf74HC367.pdf74HC368.pdf74HC373.pdf74HC374.pdf74HC393.pdf74HC4016.pdf74HC4017.pdf74HC4020.pdf74HC4040.pdf74HC4046.pdf74HC4049.pdf74HC4050.pdf74HC4051.pdf74HC4052.pdf74HC4060.pdf74HC4066.pdf74HC4075.pdf74HC42.pdf74HC423A.pdf74HC4511.pdf74HC4514.pdf74HC4543.pdf74HC51.pdf74HC521.pdf74HC533.pdf74HC534.pdf74HC540.pdf74HC541.pdf74HC573.PDF74HC58.pdf74HC589.pdf74HC594.pdf74HC595.pdf74HC597.pdf74HC620.pdf74HC623.pdf74HC640.pdf74HC643.pdf74HC646.pdf74HC648.pdf74HC688.pdf74HC7266.pdf74HC73.pdf74HC74A.pdf74HC75.pdf74HC76.pdf74HC85.pdf74HC86.pdf74HC942.pdf74HC943.pdf74LS00.pdf74LS02.pdf74LS03.pdf74LS04.pdf74LS05.pdf74LS08.pdf74LS09.pdf74LS10.pdf74LS109.pdf74LS11.pdf74LS112.pdf74LS113.pdf74LS114.pdf74LS125.pdf74LS136.pdf74LS138.pdf74LS138[1].pdf74LS139.pdf74LS14.pdf74LS151.pdf74LS153.pdf74LS154.pdf74LS154_.pdf74LS155.pdf74LS156

上一篇: c/c++中的文件流
下一篇: java异常面试常见题目
qqqqcc_正在努力中
博客等级 码龄9年 7粉丝 11原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值