学习笔记之linux文件相关函数

来源:互联网 发布:网络维修基础知识 编辑:程序博客网 时间:2024/05/26 05:52

Linux操作文件和文件夹的函数

以下为系统调用

Read(文件描述符,缓冲区,缓冲区大小);

Write(文件描述符,缓冲区,缓冲区大小);

Open(路径,打开方式);

Lseek(文件描述符,偏移量,相对位置);

 

 

标准io库

Fflush(file*);将文件流里所有未写出的的数据立刻写出。

Fseek();

Char ch = Fgetc(FIFE*); ch = getc(FIFE*);ch = getchar();都是读取一个字符。

Fputc(char ,fife*); putc(char );putchar(fife*);输出一个字符串或者从文件中读取一个字符。

Fgets(char * buff,int n ,FIFE*);将文件中的内容写到字符串中,包含换行符。

gets(char * buff)将标准输入的内容写到字符数组中,不会将换行符写到字符串中。

 

 

 

Fprintf();把要输出的内容以格式化的形式输出到文件中;

Sprintf();将要输出的内容以格式化的形式输出到文件中;

Fscanf();从文件,中格式化读;

Sscanf();从字符串,中格式话读

 

 

文件和目录的维护

系统调用:

Chmod(路径,要修改成的权限);修改文件或者目录的权限

Chown(路径,用户id,组id);改变一个文件的属主;

Unlink(文件绝对路径);删除一个文件并且会减少它的链接数

Link(const char *path1,const char * path2);系统调用,创建一个指向已经存在的文件的新链接

 

Mkdir(const char *path,mode_t mode);创建一个新的目录,名字为path,权限为mode

Rmdir(const char *path);删除一个空目录

Chdir(char * path);相当cd 命令;

Getcwd(char *buf,size_T size);获取当前目录写到字符串数组中。

 

Dirent.h

Opendir(const char * name);打开并创建一个目录流

Closedir();

Readdir();

Telldir

seekdir

 

#include<sys/mman.h>

mmap(内存映射)函数是可以创建出来一个可以对其他程序可见的内存区域。

还可以将这一函数的功能应用到文件上来,可以将文件中的内容映射到内存中,使用数组方式进行访问。如果文件的内容可以用数据结构进行表示。

Void * mmap(void *addr,size_t  len ,int prot,int flags,int fildes,off_t off);

 

第一个参数通常为NULL

第二个参数是映射的内存段的长度

第三个参数是内存段的访问权限。。。有许多宏定义

第四个参数是是程序对内存段的改变所造成的影响。。有许多宏定义。

 

 

Msync函数同上面的函数相互配合使用。。作用是将被修改的内存段写回到被映射的文件中(或者从被映射的文件中读出数据)

 

Int msync(void *addr,size_t  len ,int flags);

 

第一个参数是需要修改的内存段的起始地址

第二个参数是需要修改的内存段的长度,

第三个参数是一些宏定义出来的参数等。

 

Int munmap(void *addr,size_t len);

该函数的作用是用来释放内存段,也就是删除映射关系。

第一个参数是映射的内存段的起始地址,

第二个参数是内存段的长度。

 

使用的例子参考详见linux程序设计第三章。

0 0
原创粉丝点击