经过之前那么多节的学习,对文件的打开,关闭等操作有了很大的理解,那么今天我们来聊一下标准C库里的打开关闭等函数。
1.首先来看一下标准c库里的fopen函数
函数原型:
FILE *fopen(const char *path, const char *mode);
fopen返回的是FILE类型的字符流。
path:要打开的文件名(含路径,缺省为当前路径);
mode:打开的方式,例如“w+”就是以可读可写的方式打开,若文件不存在并创建,若存在则将原来的内容清空,
(还有很多想“w+”的这种权限,记不住的,也没必要记,要用的时候百度即可)
2.标准C库里的fwrite函数
函数原型:
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
返回值:返回的是size_t nmemb(一个整型数),即写的次数。
*ptr:一个无类型的指针,(即将要被写进文件里的字符串);
size:每次要写的大小为多少个字节;
nmemb:要写的次数,这个要看size每次写进的大小决定要写的次数;
*stream:将要被写进的文件,即类似于文件描述符,在这里叫字符流;
3.标准C库里的fread函数
函数原型:
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
返回值:返回的是size_t nmemb(一个整型数),即读取的次数。
*ptr:一个无类型的指针(将要存放被从文件里读取出来的字符串);
size:每次要读取的大小为多少个字节;
nmemb:要读取的次数,这个要看size每次读取的大小决定要读取的次数;
*stream:将要被读取的文件,即类似于文件描述符,在这里叫字符流;
4.标准C库里的fseek函数
函数原型:(fseek其实跟lseek是一样的)
int fseek(FILE *stream, long offset, int whence);
返回值:fseek返回的是光标偏移的数量,即一个整型数;
whence包括以下三个东西:
(1)SEEK_SET:文件头的位置。
(2)SEEK_CUR:光标当前的位置。
(3)SEEK_END:文件尾巴的位置。
好了,说了那么多,直接上一个几个函数的综合代码吧。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
//FILE *fopen(const char *path, const char *mode);
FILE *fp;