c语言文件操作

阅读: 评论:0

2024年2月8日发(作者:)

c语言文件操作

c语言文件操作

一.文件的打开和关闭-fopen()函数和fclose()函数

为C语言提供的文件类型,它是一个结构体类型,用于存放文件的相关信息。FILE*即为文件指针类型,通过该指针,我们可以对其相关联的文件进行一系列操作。

2.为了打开文件,文件名是不可缺少的。如果要打开当前目录下的文件,可只用输入文件名,否则应该输入文件的绝对路径,如:c:

为打开文件的几种方式,常见的有"r"(只读),"w"(只写),"a"(文件末尾追加),"rb"(二进制件打开,只读),"wb"(二进制件打开,只读),"ab"(二进制件打开,追加)等。

用"r"方式打开文件,若文件不存在,则返回一个空指针表示错误。若用"w"或"a"打开文件,则若文件不存在,都会创建一个新文件,即使文件存在,写入时也会把原有内容先进行覆盖

4.在对文件进行相关操作后应该及时使用fclose函数进行关闭,以便及时释放资源

5.若fopen函数打开失败,则返回空指针,且设置全局变量

errno 来标识错误,因此打开文件后应该做必要的判断。对于flose函数,如果成功返回值为零。如果失败,则返回 EOF。

二.常见文件操作函数

1.字符输入函数-fgetc()

fgetc函数返回文件指针指向的字符,并使指针向下一个字符偏移。若想用此函数打印文件全部内容,可用while((ch=fgetc(pf))!=EOF)循环来控制,这是因为当指针指向文件结尾,函数返回值为-1

2.字符输出函数-fputc()

读取的最大字符数为(5-1)=4,这是因为字符串末尾会添加一个‘0’作为字符串结束标志。该函数返回值为相同的 arr 参数。如果到达文件末尾或者没有读取到任何字符,str 的内容保持不变,并返回一个空指针,因此同理可用while循环判断指针是否为NULL实现打印全部内容。

4.文本行输出函数-fputs()

5.二进制输入-fread()

首先需要了解,文本文件内容是以ASCII形式存储,而内存中,字符是以ASCII存储,而整形一般是以二进制进行存储,因此将字符‘4’以二进制输入(而非52),才得以输出字符‘4’。

函数返回值为成功读取的元素总数,如果总数与 nmemb 参数不同,则可能发生了一个错误或者到达了文件末尾。因此二进制文件的读取结束判断,可以判断返回值是否小于实际要读的个数

其参数为:

size_t fread(void *ptr, size_t size, size_t nmemb, FILE

*stream)

ptr -- 这是指向带有最小尺寸

size*nmemb 字节的内存块的指针。

size -- 这是要读取的每个元素的大小,以字节为单位。

nmemb -- 这是元素的个数,每个元素的大小为 size 字节。

stream -- 这是指向 FILE 对象的指针,该 FILE 对象指定了一个输入流

c语言文件操作

本文发布于:2024-02-08 15:14:16,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170737645667853.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:文件   指针   函数   打开   字符
留言与评论(共有 0 条评论)
   
验证码:
排行榜

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23