有一句这样的话叫做linux下一切设备皆文件。那么文件操作对于我们学习linux内核的操作系统是非常有必要的。
先说一下最简单的linux文件操作函数:
fopen用来创建或者打开我们的文件(但是并不包括管道文件)。
file *fopen(const char *path, const char *mode); |
功能:打开一个文件或者根据参数的填写创建一个文件
参数:
const char *path:路径 文件名
const char *mode:可读、可写、读写、执行、追加(a b)。
返回值:成功的话我们返回一个文件流指针。
补充:文件流指针在我们程序运行的时候会有三个标准的流指针。是由内核自动打开的(标准输入,标准输出,标准错误)
补充:错误函数:
void perror(const char *s); |
功能:打印错误信息
参数:
const char *s:可以什么都不填一般填上面函数名
返回值:空
int fclose(file *fp); |
功能:关闭文件
参数:
file *fp:就是我们的fopen成功的返回值。
返回值:成功返回0.
一般该函数用作我们不需要再对打开的文件进行操作时,我们就可以进行关闭了。
size_t fread(void *ptr, size_t size, size_t nmemb, file *stream); size_t fwrite(const void *ptr, size_t size, size_t nmemb,file *stream); |
首先介绍我们写函数fwrite()
功能:以数据块的形式往文件里面写数据
参数:
const void *ptr:就是保存想要写入文件数据的地址
size_t size :一块数据的大小
size_t nmemb :就是有多少个数据块
file *stream :fopen成功的返回值
返回值:成功就返回写进去数据块的数量
然后学习我们的读函数fread();
功能:以数据块的形式往文件外面读数据
参数:
void *ptr :读出来保存数据的地址
size_t size :一块数据的大小
size_t nmemb :就是有多少个数据块
file *stream :fopen成功的返回值
返回值:成功返回读出来数据块的数量
学习了这些基本函数,我们可以用它们写出类似于文件加密和一般应用程序注册登录的后台函数。