欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

一起talk C栗子吧(第一百四十二回:C语言实例--文件操作:基于文件指针二)

程序员文章站 2022-12-05 09:47:49
各位看官们,大家好,上一回中咱们说的是基于文件指针进行文件操作的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起talk c栗子吧! 看官们,我们在上一回中介绍了...

各位看官们,大家好,上一回中咱们说的是基于文件指针进行文件操作的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起talk c栗子吧!

看官们,我们在上一回中介绍了文件指针,今天我们将和大家一起看看如何通过文件指针来操作文件。文件操作仍然使用我们总结的文件操作三步曲:打开,操作和关闭。我们将使用标准库中的函数来实现这些文件操作。接下来我们介绍标准库中与文件操作相关的函数。

打开文件的函数

file *fopen(const char *path, const char *mode);
该函数用来打开文件或者创建一个新文件; 该函数的第一个参数是文件名,该文件名表示要打开的文件或者创建的文件; 该函数的第二个参数是打开文件的方式,详见下面的说明; 该函数运行成功时返回一个非空的文件指针;运行失败时返回null。

第二个参数是字符串,它的值可以是以下类型中的任意一个:

“r”(只读的方式打开文件), “w”(只写的方式打开文件,并且把文件长度设置为0,如果文件不存在就创建文件), “a”(只写的方式打开文件,数据追加在文件末尾), ”r+”(以读和写的文件打开文件), ”w+”(以读和写的文件打开文件,并且把文件长度设置为0), “a+”(以读和写的方式打开文件,数据追加在文件末尾),

操作文件的函数

size_t fread(void *ptr, size_t size, size_t nmemb, file *stream);
该函数用来从文件中读取数据; 该函数的第一个参数是指向缓冲区的指针,从文件中读取的数据会存放到该指针指向的缓冲区中; 该函数的第二个参数是每次读取数据的大小; 该函数的第三个参数是读取数据的次数,它与第二个参数的积就是一共读取的数据大小; 该函数的第四个参数是文件指针,它会读取该文件指针所指向的的文件中的数据; 该函数运行成功时返回读取到数据的数量,通常与第三个参数的值相等,如果到了文件末尾时会小于该值,或者为0。如果运行失败会把失败信息写入到标准错误流中.可以使用ferror()函数查看错误信息。
size_t fwrite(const void *ptr, size_t size, size_t nmemb, file *stream);
该函数用来向文件中写入数据; 该函数的第一个参数是指向缓冲区的指针,它会把缓冲区中的数据写入到文件中; 该函数的第二个参数是每次写入数据的大小; 该函数的第三个参数是写入数据的次数,它与第二个参数的积就是一共写入的数据大小; 该函数的第四个参数是文件指针,它会把数据写入到该指针所指向的的文件中; 该函数运行成功时返回写入数据的数量,通常与第三个参数的值相等,如果返回的值小于该值,或者为0, 那么就表示发生了错误。同时会把失败信息写入到标准错误流中,可以使用ferror()函数查看错误信息。

关闭文件的函数

int fclose(file *fp)
该函数用来关闭文件; 该函数的参数表示文件指针,它会把与该文件指针所指的文件关闭掉,同时关闭文件流。 该函数运行成功时返回0,运行失败时返回-1.同时设置全局变量error。

各位看官,关于文件操作:基于文件指针的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解 。