专栏首页程序员互动联盟【答疑释惑】标准C语言如何操作文件?

【答疑释惑】标准C语言如何操作文件?

C语言中操作文件功能都用ANSI C提供的一组标准库函数来实现。文件操作标准库函数有如下:

fprintf:往文件中写格式化数据 fscanf:格式化读取文件中数据 fread: 以二进制形式读取文件中的数据 fwrite:以二进制形式写数据到文件中去 getw: 以二进制形式读取一个整数 putw: 以二进制形式存贮一个整数

fopen: 打开一个文件

fclose:关闭一个文件

fgetc: 从文件中读取一个字符 fputc: 写一个字符到文件中去 fgets: 从文件中读取一个字符串 fputs: 写一个字符串到文件中去

feof: 文件状态检查函数,文件结束 ferror: 文件读/写出错 clearerr: 清除文件错误标志 ftell: 了解文件指针的当前位置

rewind: 反向设置文件读写指针 fseek: 设置文件读写指针

这次先挑一些来写。

# 文件的打开

 1.函数原型

FILE *fopen(char *pname,char *mode)

 2.功能说明    按照mode 规定的方式,打开由pname指定的文件。若找不到由pname指定的相应文件,就按以下方式之一处理: (1) 此时如mode 规定按写方式打开文件,就按由pname指定的名字建立一个新文件; (2) 此时如mode 规定按读方式打开文件,就会产生一个错误。

打开文件的作用是: (1)分配给打开文件一个FILE 类型的文件结构体变量,并将有关信息填入文件结构体变量; (2)开辟一个缓冲区; (3)调用操作系统提供的打开文件或建立新文件功能,打开或建立指定文件; FILE *:指出fopen是一个返回文件类型的指针函数;

 3.参数说明 pname:是一个字符指针,它将指向要打开或建立的文件的文件名字符串。 mode:是一个指向文件处理方式字符串的字符指针。所有可能的文件处理方式见表8.1

 4.返回值    正常返回:被打开文件的文件指针。    异常返回:NULL,表示打开操作不成功。

例如:

//定义一个名叫fp文件指针
FILE *fp;
//判断按读方式打开一个名叫test的文件是否失败
if((fp=fopen("test","r")) == NULL)
{
    printf("The file opened.\n");
    exit(1);//结束程序的执行
}

要说明的是:C语言将计算机的输入输出设备都看作是文件。例如,键盘文件、屏幕文件等。ANSI C标准规定,在执行程序时系统先自动打开键盘、屏幕、错误三个文件。这三个文件的文件指针分别是:标准输入stdin、标准输出stdout和标准出错 stderr。

# 文件的关闭

1. 函数原型

int fclose(FILE *fp);

2. 功能说明   关闭由fp指出的文件。此时调用操作系统提供的文件关闭功能,关闭由fp->fd指出的文件;释放由fp指出的文件类型结构体变量;返回操作结果,即0或EOF。

3. 参数说明   fp:一个已打开文件的文件指针。

4. 返回值   正常返回:0。   异常返回:EOF,表示文件在关闭时发生错误。 例如:

int n=fclose(fp);

# 文件的读写操作

A. 从文件中读取一个字符

  1. 函数原型

int fgetc(FILE *fp);

  2. 功能说明     从fp所指文件中读取一个字符。

  3. 参数说明     fp:这是个文件指针,它指出要从中读取字符的文件。

  4. 返回值     正常返回: 返回读取字符的代码。     非正常返回:返回EOF。例如,要从"写打开"文件中读取一个字符时,会发生错误而返回一个EOF。

B. 写一个字符到文件中去

1. 函数原型

int fputc(int ch,FILE *fp)

2. 功能说明   把ch中的字符写入由fp指出的文件中去。

3. 参数说明   ch:是一个整型变量,内存要写到文件中的字符(C语言中整型量和字符量可以通用)。   fp:这是个文件指针,指出要在其中写入字符的文件。

4. 返回值   正常返回: 要写入字符的代码。   非正常返回:返回EOF。例如,要往"读打开"文件中写一个字符时,会发生错误而返回一个EOF。

B. 写一个字符到文件中去

1. 函数原型

int fputc(int ch,FILE *fp)

2. 功能说明   把ch中的字符写入由fp指出的文件中去。

3. 参数说明   ch:是一个整型变量,内存要写到文件中的字符(C语言中整型量和字符量可以通用)。   fp:这是个文件指针,指出要在其中写入字符的文件。

4. 返回值   正常返回: 要写入字符的代码。   非正常返回:返回EOF。例如,要往"读打开"文件中写一个字符时,会发生错误而返回一个EOF。

参考:http://www.cnblogs.com/likebeta/archive/2012/06/16/2551780.html

本文分享自微信公众号 - 程序员互动联盟(coder_online)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-08-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【C语言基础】fopen函数使用

    r代表read的简写,+代表可读可写,w代表write,b代表bit二进制位,t代表text r 打开只读文件,该文件必须存在 r+ 打开可读可写的文件,该文件...

    程序员互动联盟
  • 【记忆卡片】linux常用的5个命令

    玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命...

    程序员互动联盟
  • 【入门必备】常用的C语言编程工具

    中国有句古话叫做“工欲善其事,必先利其器”,可见我们对工具的利用是从祖辈就传下来的,而且也告诉我们在开始做事之前先要把工具准备好。有了好的工具那么我们做起事来也...

    程序员互动联盟
  • Linux编程--文件操作

    所有执行I/O操作的SystemCall都是以文件描述符(File Describtion,简称fd)来代指打开的文件。它是一个非负小整数。包括:Pipe,FI...

    None_Ling
  • Python中的File文件操作#学习猿地

    > 针对磁盘中的文件的读写。文件I/O I 输入(input) O输出(Output)

    学习猿地
  • (56) 文件概述 / 计算机程序的思维逻辑

    我们在日常电脑操作中,接触和处理最多的,除了上网,大概就是各种各样的文件了,从本节开始,我们就来探讨文件处理,本节主要介绍文件有关的一些基本概念和常识,Java...

    swiftma
  • Python中的File文件操作#学习猿地

    > 针对磁盘中的文件的读写。文件I/O I 输入(input) O输出(Output)

    学习猿地
  • Python 之文件读写操作

            使用 open 打开文件后,格式:open(filename,mode),最后一定要调用文件对象的 close() 方法,如图所示:

    py3study
  • 【C语言基础】fopen函数使用

    r代表read的简写,+代表可读可写,w代表write,b代表bit二进制位,t代表text r 打开只读文件,该文件必须存在 r+ 打开可读可写的文件,该文件...

    程序员互动联盟
  • python文件打开的几种访问模式

    于小勇

扫码关注云+社区

领取腾讯云代金券