c语言文件操作

  • 格式:doc
  • 大小:221.08 KB
  • 文档页数:5

下载文档原格式

  / 5
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c语言文件操作

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

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

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

3.mode为打开文件的几种方式,常见的有"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 对象指定了一个输入流

相关主题