首页
学习
活动
专区
圈层
工具
发布

文件读写(相关函数详解)

如果写入成功则返回写入的字符的ascll码,失败则返回-1(即EOF) 示例代码: #include #include int main() { FILE* pf...一下方式可以找到这个被读写文件 1.2 fputs函数 fputs参数如下: fputs的功能是把字符串str输出到stream指向的文件中,如果写入成功返回一个非负整数,写入失败,则返回-1(即EOF...函数 fgetc的参数如下: 它的作用是返回stream对应的文件里面的一个字符(它的返回值),所以需要一个字符变量来接收,当读取失败时返回-1,虽然说是返回字符,但fgetc函数的返回类型是int,不过这没关系每个字符都有对应的...num个字符(即一个字符串)输入到str中,返回值是该字符串首字符的地址,当读取失败时返回NULL,每读取一次stream指向的文件内容,stream往后移动num位。...,返回的是读取到字符的ascIl码值,如果读取的过程中遇到文件末尾,或者发生错误,都返回EOF(-1)。

13410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    文件操作(二、scanffscanfsscanf​与printffprintfsprintf​、fseek与ftell与rewind、feof)

    文本文件读取是否结束,判断返回值是否为 EOF ( fgetc ),或者 NULL ( fgets ) 例如: fgetc 判断是否为 EOF ....fp) { perror("File opening failed"); return EXIT_FAILURE; // 返回失败状态码,通常定义为1,表示程序异常退出 } //fgetc 当读取失败的时候或者遇到文件结束的时候...,都会返回EOF​ while ((c = fgetc(fp)) !...= EOF) // 标准C I/O读取文件循环​ // 使用fgetc函数从fp指向的文件中逐个字符地读取内容。...fgetc函数返回读取到的字符,或者在读取失败或 遇到文件结束时返回EOF { putchar(c);// 使用putchar函数将读取到的字符输出到标准输出 } //判断是什么原因结束的​

    49410

    【C语言标准库函数】标准输入输出函数详解:字符文件读取写入

    stream:指向FILE对象的指针,该对象标识了要写入字符的流。 返回值 成功时,返回写入的字符。 如果发生错误,则返回EOF。 1.1.2....EOF 通常定义为 -1,但这是一个在 char 类型范围之外的值,因此使用 int 类型来接收 fgetc 的返回值是必要的。...如果发生读取错误,也可能返回 EOF,但此时可以通过检查 ferror(stream) 或 feof(stream) 来区分这两种情况。不过,通常的做法是在循环中直接检查返回值是否为 EOF。...EOF 检测:fgetc 在读取到文件末尾或发生错误时会返回 EOF。因此,在使用 fgetc 时,需要检查返回值是否为 EOF,以判断是否已经到达文件末尾或发生了错误。...然后,使用一个 while 循环和 fgetc 函数逐字符读取文件内容,直到到达文件末尾(即 fgetc 返回 EOF)。在循环体内,使用 putchar 函数将读取到的字符输出到控制台。

    12210

    【专业技术】C语言EOF如何使用?

    它是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file),也可以是标准输入(stdin)。 ?...这个问题让我想了很久,后来查了资料才知道,在Linux系统之中,EOF根本不是一个字符,而是当系统读取到文件结尾,所返回的一个信号值(也就是-1)。...所以,处理文件可以写成下面这样:   int c;   while ((c = fgetc(fp)) != EOF) {     do something   } 这样写有一个问题。...fgetc()不仅是遇到文件结尾时返回EOF,而且当发生错误时,也会返回EOF。因此,C语言又提供了feof()函数,用来保证确实是到了文件结尾。...fgetc()读取文件的最后一个字符以后,C语言的feof()函数依然返回0,表明没有到达文件结尾;只有当fgetc()向后再读取一个字符(即越过最后一个字符),feof()才会返回一个非零值,表示到达文件结尾

    2.7K80

    【C语言】文件操作详解2(文件的顺序读写操作)

    事实也确实如此,在每次写入字符后文件光标会自动后移 所以每个字符都是连续的 (2)fgetc(字符输入函数) fgetc可将磁盘(文件)的单个字符输出到内存的变量中 fgetc语法: int...fgetc ( FILE * stream ); stream表示接收字符的文件的文件指针 代码演示: 现在,我们先将文件中存放 “ abcdefg " 再用fgetc读取文件的数据 注意:...的返回值 fgetc的返回值: int fgetc ( FILE * stream ); 正常读取时:返回读到字符的ASCLL码值 读取失败时:返回EOF 在文件操作中,EOF 是 “End...of File”(文件结束)的缩写,用于指示文件的结束 代码演示:(利用fgetc的返回值) (内有注释,不懂就看) #include int main() { char...= EOF) //当返回值不为EOF时,继续 //可以把所有字符打印出来 { printf("%c ", ch); } printf("\n\n"

    15410

    【C语言加油站】C语言文件操作完全指南:feof、ferror与缓冲区机制详解

    一、feof 1.1 函数介绍 该函数的用法如下: 向函数中传入一个参数: stream :指向识别流的 FILE 对象指针 函数会在该流中检测,是否设置了文件末尾指示器: 已设置,返回一个非零值...回到正题,从上面的测试中我们可以得到两个结论: 当光标位于文件末尾时,流中不一定设置了 eof 当此时我们对该位置进行一次读取操作时,流中会设置 eof ,并且我们可以通过 feof 检测出来 这个函数的使用比较简单...: feof 检测的是文件末尾指示器 eof ferror 检测的是错误指示器 error 在前面的介绍中我们有介绍过,对于 fgetc ,不管是发生了读取错误,还是读取到了文件末位,其返回值都是 EOF...,我们是无法进行读取操作的,因此 fgetc 在进行读取操作时会发生错误,并设置 error ,我们可以通过 ferror 检测出来; 三、clearerr 不管是 eof 还是 error ,当文件中存在这两个指示器时...当文件读写函数(如fgetc )返回 EOF 时,应使用 ferror 来区分是遇到了文件末尾还是发生了错误。 clearerr 函数:用于清除流的错误指示器和文件末尾指示器。

    17810

    EOF是什么?

    我学习C语言的时候,遇到的一个问题就是EOF。 它是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file),也可以是标准输入(stdin)。...这个问题让我想了很久,后来查了资料才知道,在Linux系统之中,EOF根本不是一个字符,而是当系统读取到文件结尾,所返回的一个信号值(也就是-1)。...所以,处理文件可以写成下面这样:   int c;   while ((c = fgetc(fp)) != EOF) {     do something   } 这样写有一个问题。...fgetc()不仅是遇到文件结尾时返回EOF,而且当发生错误时,也会返回EOF。因此,C语言又提供了feof()函数,用来保证确实是到了文件结尾。...fgetc()读取文件的最后一个字符以后,C语言的feof()函数依然返回0,表明没有到达文件结尾;只有当fgetc()向后再读取一个字符(即越过最后一个字符),feof()才会返回一个非零值,表示到达文件结尾

    2.8K30

    【C】文件操作

    关闭文件 我们可以使用fclose来关闭文件, 函数原型为: int fclose( FILE *fp ); 如果fclose执行成功, 会返回0, 如果执行出错则会返回EOF(在stdio.h中定义)...如果函数执行成功会返回一个非负整数, 否则返回EOF, 该函数的原型为: int fputs ( const char * str, FILE * stream ); 下面是一个使用示例 void test_fputs...fgetc一次读取一个字符, 同时将文件指针往后移一个字符, 如果读取成功会返回读取的字符, 出现错误会返回EOF....当读到文件末尾时, 也会返回EOF, 并且在输出流中设置文件结束标志(end-of-file indicator)....* stream ); fgets从stream中读取内容到str, 当满足下面任意一个条件时完成读取操作: 读取了num-1个字符 读到了换行符(newline character) 读到了文件结尾

    90910

    【C-文件操作】一文教你如何将代码的数据持久化

    ) FILE* stream 打开文件的地址 函数返回值:int类型,如果为0,则关闭成功 int main() { //文件的打开 FILE* pf = fopen("D:\\桌面\\test.txt...int fgetc(FILE* stream) 返回值:打开成功返回读出的那个字符;   打开失败返回EOF, //读文件,mode改为r char ch1 = fgetc(pf); char...,看函数原型: 函数原型中返回值的类型为int,一般以EOF作为失败时的返回值,比如fgetc 函数原型中返回值的类型为char*,一般以NULL作为失败时的返回值,比如fopen和fgets...备注:文本编辑器只能解析文本文件的数据  7.文件读取结束的判定  int feof(FILE* pf) 作用:当文件读取结束时,判断时读取失败异常结束,还是遇到文件末尾正常结束 返回值:返回值为为非...0值则正常结束,返回0值则代表异常结束 文件读取时,不能用feof函数的返回值直接用来判定文件是否结束 而是应用于当文件读取结束时,判断时读取失败异常结束,还是遇到文件末尾正常结束 以用feof

    1.1K30

    文件操作入门(下)—— 随机读写、结尾判断、缓冲区及实战题目

    返回值:成功0,失败非0 ftell long ftell(FILE *stream); 获取当前文件指针相对于文件开头的字节偏移量 1. 返回值:有效偏移量(long类型),失败返回-1L;2....无返回值,等价于 fseek(stream, 0, SEEK_SET);2....1、判断文件读取是否结束方法 文本文件读取是否结束,判断返回值是否为 EOF ( fgetc ),或者 NULL ( fgets ) ⼆进制⽂件的读取结束判断,判断返回值是否小于实际要读的个数。...核心函数解析 判断是否到文件尾:feof 函数原型:int feof(FILE *stream); 功能:当文件指针到达末尾时,返回非0值(真),否则返回0(假)。...读取的字符(用int类型接收,以处理EOF) // 循环读取源文件内容:每次读取一个字符,直到读到文件尾(EOF) while ((ch = fgetc(pin)) !

    10310

    C语言 —— 指尖跃迁 刻印永恒 - 文件操作

    kw=fclose //关闭⽂件 int fclose ( FILE * stream ); 返回值:如果流成功关闭,fclose 返回 0,否则返回EOF(-1)(如果流为NULL,而且程序可以继续执行...kw=fgetc int fgetc ( FILE * stream ); 从文件指针stream指向的文件中读取一个字符,该字符的ASCII值作为函数的返回值,读取一个字节后光标向后移一个字节,...kw=fputc int fputc ( int character, FILE * stream ); 返回值: 在正常调用情况下,函数返回写入文件的字符的ASCII码值,出错时,返回EOF...,判断返回值是否为 EOF ( fgetc ),或者 NULL ( fgets ) 例如: fgetc 判断是否为 EOF fgets 判断返回值是否为 NULL...fp) { perror("File opening failed"); return EXIT_FAILURE; } //fgetc 当读取失败的时候或者遇到⽂件结束的时候,都会返回EOF

    61310

    详解文件操作

    ,该函数返回 EOF ,如果发生其他读取错误,该函数也会返回 EOF,所以我们可以通过其返回值是否等于EOF来判断读取是否结束。...fgetc(pf) 是从文件流pf中读取一个字符的函数,但其返回值类型是int(整数),而非char(字符),这是关键设计: ①正常情况:当读取到有效字符时,fgetc会返回该字符的...②特殊情况:当读取到文件末尾(EOF,End of File)或发生错误时,fgetc会返回一个特殊值EOF(通常定义为-1,是int类型)。...参数 FILE * stream : 指向标识流的 FILE 对象的指针 代码示例:当文件读取结束时,判断是什么原因结束。...feof(pf) → 真,进入循环; 执行 fgetc(pf):因为文件为空,读取失败,返回 EOF(-1),同时系统设置 feof(pf) 为 真(因为读取了超出文件末尾的数据); 执行 “处理”:打印

    26510

    C文件读写

    fgetc函数 int fgetc(FILE* stream); 输入: FILE * stream文件结构指针 输出: 如果读取成功,返回读取到的字符。如果文件结尾或失败,则返回EOF。...我们可以在fgetc函数返回EOF后,再次根据上述两个函数,判断究竟是文件结尾了,还是遇到了错误。...int fflush(FILE* stream); 输入: FILE * stream文件结构指针 输出 刷新缓存区成功返回0,否则返回EOF,并且ferror可以检测到文件读写出错。...当任意文件操作函数读写相应长度的字节后,指针也会偏移相应的长度。 fgetc函数每次获取一个字节。因此,文件指针向后移动一个字节。所以,重复调用fgetc函数可以逐个读取文件内的字符。...函数fscanf的返回值的意义为:参数列表中成功填充的参数个数。若文件读取失败或文件结尾,将返回EOF。 若返回EOF,此时可以通过feof以及ferror函数查询具体的原因。

    4K00

    流动的代码:文件流畅读写的艺术(三)

    返回值:返回成功读取的数据项的数量。...如果在读取任何数据之前遇到错误或到达字符串的结尾,则返回EOF 假设你有一个包含整数和浮点数的字符串,你想从中提取这些数值: #include int main() { char...feof int feof(FILE *stream); feof 用于检查是否已经读取到文件的末尾。它检查与文件流关联的 EOF 标志位。...如果文件流有错误,返回非零值;否则,返回 0 注意点 EOF and 错误:feof 和 ferror 检查的是不同的情况:feof 是检查是否到达文件末尾,而 ferror 是检查文件操作是否发生错误...判断方式 文本文件读取是否结束,判断返回值是否为EOF( fgetc),或者NULL(fgets) 二进制文本的读取结束判断,判断返回值是否小于实际要读的个数,例如 fread判断返回值是否小于实际要求的个数

    58410
    领券