常见的文件和目录函数

在APUE这本书,第三章与第四章都是在讲一些关于文件操作和目录操作的函数。简单地说明一下涉及到的函数及其使用。

open函数

原型为: #include<fcntl.h>

int open(const char *pathname, int oflag,.../*mode_t mode*/);

该函数是用来打开或创建一个文件(记住:是文件,不包括目录),第三个参数只有当打开文件不存在时(即open函数执行的是创建文件)才有用,mode_t是用来指定创建文件的用户ID,组ID,其他用户的读写权限的(注意:还有一个umask函数,真正权限是umask函数和参数mode联合决定的)。第二个参数表示怎么打开(以什么方式打开,读,写,读写等)。返回值为打开文件描述符。

creat函数

原型:#include<fcntl.h>

int creat(const char * pathnewname,mode_t mode);

该函数用来创建一个文件。相当于:open(pathnewname,O_WRONLY|O_CREAT|O_TRUNC,mode). 从等价函数open中,可以看出creat函数特点:只能以写的形式打开该文件,当文件存在时,会将文件内容清除重新开始写。 返回值也是打开文件的描述符。

close函数

原型:#include<fcntl.h>

int close(int filedes);

关闭函数,成功时返回0,失败则返回-1

lseek函数

原型:#include<unistd.h>

int lseek(int filedes,off_t offset,int whence);

该函数用来显示地为打开一个文件设置偏移量。

whence为seek_set时表示从起点开始,为seek_cur表示从当前位置还是,为seek_end表示从结尾出开始算。返回值为新的偏移量值。

该函数可以是文件形成空洞。

read函数

原型:#include<unistd.h>

int read(int filedes,void * buf,int bufsize)

该函数用来读取文件的值。该函数读取文件的长度为bufsize,中途遇到空格或者是换行都不会停止的。

write函数

原型:#include<unitsd.h>

int write(int filedes,void * buf,int bufsize)

该函数用来写文件

dup函数:

原型:#include<unisd.h>

int dup(int filedes);   int dup2(int filedes,int filedes1);

该函数用来复制文件描述符。dup是从当前最小的描述符中找,dup2则是将其赋值到filedes1描述符中。最后是他们一起公用文件表项。

fcntl函数

原型:#include<fcntl.h>

int fcntl(int filedes,int cmd,..../*int arg*/)

函数为改变已打开文件的性质。

stat函数

原型:#include<sys/stat.h>

int stat(const char *restrict  pathname,struct stat* restrict buf);

int fstat(int filedes,struct stat* restrict buf);

int lstat(const char *restrict  pathname,struct stat* restrict buf);

该函数是返回与此命名的文件有关的信息结构,lstat是返回符号连接的相关信息,stats则是返回符号连接引用文件的信息。

stat结构体信息如下:

struct stat {

mode_t  st_mode; /* file type & mode (permissions) */

ino_t  st_ino; /* i-node number (serial number) */

dev_t  st_dev; /* device number (file system) */

dev_t  st_rdev; /* device number for special files */

nlink_t  st_nlink; /* number of links */

uid_t  st_uid; /* user ID of owner */

gid_t  st_gid; /* group ID of owner */

off_t  st_size; /* size in bytes, for regular files */

struct timespec st_atim; /* time of last access */

struct timespec st_mtim; /* time of last modification */

struct timespec st_ctim; /* time of last file status change */

blksize_t  st_blksize; /* best I/O block size */

blkcnt_t  st_blocks; /* number of disk blocks allocated */

};

umask函数

原型;#include<sys/stat.h>

int umask(mode_t cmask);

该函数用来设置文件模式创建屏蔽字。返回原来的屏蔽字。

常见的文件和目录函数,布布扣,bubuko.com

时间: 2024-07-30 10:10:58

常见的文件和目录函数的相关文章

Python的os模块的一些常见文件和目录操作

转自:极客学院 Python 的 os 模块封装了常见的文件和目录操作,本文只列出部分常用的方法,更多的方法可以查看官方文档. 下面是部分常见的用法: 方法 说明  os.mkdir  创建目录 os.rmdir  删除目录  os.rename  重命名 os.remove 删除文件  os.getcwd 获取当前工作路径 os.walk 遍历目录 os.path.join 连接目录与文件名 os.path.split 分割文件名与目录 os.path.abspath 获取绝对路径 os.pa

文件和目录:stat fstat lstat函数

文件和目录:stat fstat lstat函数 #include <sys/stat.h> int stat( const char *restrict pathname, struct stat *restrict buf ); int fstat( int filedes, struct stat *buf ); int lstat( const char *restrict pathname, struct stat *restrict buf );文件 三个函数的返回值:若成功则返回

目录操作和文件操作的函数

一:目录操作的函数1.创建目录: mkdir(目录地址和名字,权限)----第三个参数bool,支持递归创建 2.删除目录:目录下没有其他文件的时候才可以 rmdir(目录地址) 3.移动目录(改名): rename(原始文件路径,新的文件路径) 4.获取目录的内容 1,打开目录,opendir,得到一个目录句柄(目录资源) 2,依次读取目录内的文件,readdir 3,关闭目录句柄(closedir)遍历目录下的所有文件!遍历只会遍历当前目录下的(一层) 5.获取当前工作路径 getcwd--

关于文件、目录操作的函数

删除目录及目录下的文件(user ShellApi单元) function SHMyDelDirectory(const Source: string): boolean;  var fo: TSHFILEOPSTRUCT;  begin  FillChar(fo, SizeOf(fo), 0);  with fo do  begin  Wnd:= 0;   wFunc := FO_Delete;   pFrom := PChar(Source + #0);    pTo    := #0#0;

PHP常用文件函数和目录函数整理

一.常用文件函数库 1.basename(); -- 返回路径中的文件名部分. string basename ( string $path [, string $suffix ] ) //给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名. 参数:path 一个路径.在 Windows 中,斜线(/)和反斜线(\)都可以用作目录分隔符.在其它环境下是斜线(/) suffix 如果文件名是以 suffix 结束的,那这一部分也会被去掉. 返回值:返回 path 的基本的文件名.

python文件和目录操作函数小结

本文主要介绍python文件和目录操作函数小结,主要涉及到os模块和shutil模块的一些方法. python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r"c:\python")检验给出的路径是否是一个文件:os.path.isf

自定义的常用文件与目录操作函数库

自定义的常用文件与目录操作函数库,在win和linux平台做了跨平台的处理.(跨平台的处理可以作为参考比较.在win下目录的符号可以是\或者/,但是在linux下只能是/.) 下面给出的是源文件,实现接口函数的代码.每个接口函数都有很详细的功能说明. /* 判断文件或目录是否存在 * 在操作系统中,目录也是一个文件,如果要判断一个目录是否存在则应当使用DirectoryExists, * 要判断一个文件是否存在且是一个归档文件则应当使用IsArchive. * @如果文件或目录存在则返回true

python文件和目录操作函数总结

有关python文件和目录操作函数小结,主要涉及到os模块和shutil模块的一些方法. python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“c:\python”)检验给出的路径是否是一个文件:os.path.isfile()检验给出

python—— 文件的打开模式和文件对象方法 &amp; os、os.path 模块中关于文件、目录常用的函数使用方法

引用自"鱼c工作室"     文件的打开模式和文件对象方法  : https://fishc.com.cn/forum.php?mod=viewthread&tid=45279&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403 os.os.path 模块中关于文件.目录常用的函数使用方法: https://fishc.com.cn/forum.php?mod=viewthread&tid=45512&extr