文件操作(一)

第六章文件操作总结

首先 看书学到的一个字节觉得特别有用的找bug的方法

c
/自定义的错误处理函数/

void my_err(const char * err_string, int line)
{
fprintf(stderr,”line: %d”, line);
//调用是这样,my_err(“err_string”,LINE); LINE为预编译器内置宏获取行号
perror(err_string);
exit(1);
}
“`

打开文件

函数功能: 打开文件并返回文件描述符,其他功能视参数而定。

函数原型及解释

int open(const char *path, int oflag, …);
//一般使用的两种形式:
int open(const char *path, int oflag);
int open(const char *path, int oflag, mode_t mode);
1. path:要打开的文件位置,既可以是绝对路径也可以是相对路径。
2. oflag:打开文件的方式
3. mode:当且仅当oflag设置了O_CREAT时有效,要创建的文件的权限。
4. 返回值:若执行成功则返回该文件描述符,失败则返回-1。

参数

其中参数oflag可选项有:

选项(以下五选一):说明
O_RDONLY只读打开
O_WRONLY只写打开
O_RDWR读写打开
O_EXEC只执行打开
O_SEARCH只搜索打开只搜索打开

以上是互斥的也就是只能出现一种
如下可以与上边根据需求自己搭配

选项(以下任选)说明
O_APPEND每次写文件时都追加到文件的尾部
O_CLOEXEC将FD_CLOEXEC设置为文件描述符标志
O_CREAT若该文件不存在则创建
O_EXCL (指定了O_CREAT)若文件已存在则报错
O_NOFOLLOW若文件是一个符号链接则报错
O_SYNC对文件的修改将阻塞直到物理磁盘上同步为止
O_DIRECTORY若文件不是一个目录则失败
O_NONBLOCK以非阻塞的方式打开文件
O_NDELAY以非阻塞方式打开文件
O_TRUNC当文件存在并以可写方式打开则截断文件至0

创建文件

函数功能:创建一个文件。

函数原型及解释

int creat(const char *path, mode_t mode);
1. path:要创建的文件名,这里可以使用绝对路径也可以使用相对路径。
2. mode:要创建的文件的权限、类型。
3. 返回值:若执行成功则返回该文件描述符,失败则返回-1。

关闭文件

函数功能:关闭文件描述符,同时将释放进程施加在该文件上的所有记录锁。

函数原型及解释

int close(int fildes);

1.返回值:若执行成功则返回0,失败则返回-1。
2.fildes:要关闭的文件描述符。

这里要解释一下fildes这个东西
是文件描述符    0代表标准输入文件 1代表标准输出文件 2代表标准错误输出文件

其次用户可以不必调用close来关闭一个已经打开的文件,因为在进程结束时,内核会自动关闭所有已打开的文件

这样子感觉越写越水就不写那些网上一查后即可已找到的东西了
以后就主要说说自己使用函数时遇到的那些坑点吧

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值