Linux下Open函数
文章目录
- Open 介绍
- 参数
- 案例
- 输出结果:
- 文件描述符fd
Open 介绍
Open函数用来打开一个文件,建立一个文件描述符到文件路径的映射,建立文件标识。
open函数原型如下所示:
#include <fcntl.h>
int open(const char *pathname, int oflag,...);
参数
- pathname是要打开或者创建的文件路径名,可以是绝对路径也可以是相对路径。
- oflag:打开文件时,可以传入多个参数选项,用下面的一个或多个进行“或”运算,构成flags; 其中:O_RDONLY—只读打开、 Q_WRONLY—只写打开、O_RDWR—读、写打开 ;这三个变量只能指定一个 ;O_CREAT—若文件不存在,则创建它。需要使用mode(文件权限标志)选项,来指明新文件的访问权限 ;O_APPEND—追加写
#define O_RDONLY 00 /*只读方式打开*/
#define O_WRONLY 01 /*只写方式打开*/
#define O_RDWR 02 /*读写方式打开*/
- 返回值:成功则返回打开文件的描述符(通常为3),失败则返回-1。
文件标识符0、1、2分别代表标准输入、标准输出和标准错误输出,分别用常量STDIN_FILENO、STDOUT_FILENO和STDERR_FILENO代替。
案例
#include <fcntl.h>
using namespace std;int main()
{off_t fd;fd=open("1.txt",O_RDONLY);cout<<fd<<endl;return 0;
}
输出结果:
3
文件描述符fd
文件描述符在形式上 是一个非负整数。它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。在程序设计中,一些涉及底层的程序编写往往会围绕文件描述符展开。
- 习惯上,标准输入(standard input)的文件描述符是 0,标准输出(standard output)是 1,标准错误(standard error)是 2。
- 0,1,2对应的物理设备一一般是:键盘,显示器,显示器。
- 所以通常当我们成功打开文件时,返回的fd都是从3起。
Linux下Open函数相关推荐
- linux下syscall函数,SYS_gettid,SYS_tgkill
出处:http://blog.chinaunix.net/uid-28458801-id-4630215.html linux下syscall函数,SYS_gettid,SYS_tgkill 2014 ...
- linux下system函数的深入理解
这几天调程序(嵌入式linux),发现程序有时就莫名其妙的死掉,每次都定位在程序中不同的system()函数,直接在shell下输入system()函数中调用的命令也都一切正常.就没理这个bug,以为 ...
- Linux下curses函数库的详细介绍
Linux下curses函数库的详细介绍 curses库介绍 安装 curses库函数介绍 初始化和重置函数 管理屏幕的函数 输出到屏幕 从屏幕读取 清除屏幕 移动光标 字符属性 管理键盘的函数 键盘 ...
- linux下readlink函数详解
linux下readlink函数详解 相关函数: stat, lstat, symlink 表头文件: #include <unistd.h> 定义函数:int readlink(con ...
- linux 纪元时间转换,[转]Linux下时间函数time gettimeofday
Linux下时间函数time & gettimeofday UNIX及Linux的时间系统是由「新纪元时间」Epoch开始计算起,单位为秒.Epoch是指定为1970年1月1日凌晨零点零分零秒 ...
- Linux下connect函数 阻塞 与 非阻塞 问题
一.概述 linux系统下,connect函数是阻塞的,阻塞时间的长度与系统相关.而如果把套接字设置成非阻塞,调用connect函数时会报错Operation now in progress,且err ...
- Linux下select函数实现的聊天服务器
转载: http://blog.csdn.net/microtong/article/details/4989902 Linux下select函数实现的聊天服务器 佟强 http://blog.cs ...
- LINUX下poll函数用法
LINUX下poll函数用法 文章目录 LINUX下poll函数用法 一.函数介绍 二.使用 1. 一.函数介绍 int poll(struct pollfd *fds, nfds_t nfds, i ...
- linux 函数返回string,linux 下c函数strcmp的返回值疑问?
linux 下c函数strcmp的返回值疑问? strcmp函数解释: NAME strcmp, strncmp - compare two strings SYNOPSIS #include int ...
- Linux下time函数
Linux下time函数都在time.h头文件中. 1.头文件 和时间有关的头文件有以下几个: time.h sys/time.h sys/times.h sys/timeb.h sys/timex. ...
最新文章
- 第四次作业 (日期和jieba库的运用)
- python repl_asyncio REPL(Python 3.8)
- openstack之neutron linuxbridge + vlan组网
- 未正确安装master data services_GP数据库安装
- 光端机按照技术类型及接口种类是怎么分类的?
- 从线上慢sql看explain关键字
- 利用MMCM IP核产生用户时钟
- HOWTO:FirePHP乱码问题解决
- Haproxy实现负载均衡及相关配置(添加日志、设定自动刷新时间、控制访问、动静分离、读写分离)
- python是干什么用的-python中upper是做什么用的
- android版chrome为什么没有扫,android – 无法使用谷歌条码扫描仪
- charles iPhone抓包步骤 Fiddler
- 2019 年,数据分析师怎样才能更抢手?
- 计算机主机装机注意,自己组装电脑要注意什么?DIY老司机教你装机注意事项 (全文)...
- STM32CubeMX配置DCMI+DMA之OV2640
- 装修后才知道的79件事,无数网友真金白银砸出来...
- windows10下Docker部署Kurento
- 【机器视觉】移动机器人控制软件的设计与实现
- 为什么写论文时一定要引用论文?
- 使用Flex实现常见布局的思路总结
热门文章
- 世界杯的历史也是一部科技史
- Windows Overview
- 一起来玩玩WebGL--第一弹
- 为什么说Vue是单页面应用呢?
- Soul(灵魂)匹配脚本、autojs、按键精灵~
- canal安装最详细教程
- catkin_make问题: The build space at ‘/home/lufeng/Documents/test/catkin_ws/build’ was previously built
- 大学物理复习2-动量守恒定律的应用+质心运动定理
- 【LOJ】apio2016烟火表演-可并堆凸包
- 【Linux】文件与路径