Open

open()是一个系统调用函数,用来打开或创建一个文件,通过不同的oflag选项实现不同功能。

使用时open()函数需要包含的头文件:<sys/types.h>,<sys/stat.h>,<fcntl.h>

函数原型:

  int open(const char *pathname, int oflags);

  int open(const char *pathname, int oflags, mode_t mode);

参数列表:

  pathname:要打开或创建的文件的全路径名

  oflag:函数选项(可以是用 ' | ' 传递多个选线实现不同功能)。     

  O_RDONLY(只读打开)、

  O_WRONLY(只写打开)、

  O_RDWR(读写打开)中的一个于下列一个或多个常数

  O_APPEND: 追加到文件尾 O_CREAT: 若文件不存在则创建它。使用此选择项时,需同时说明第三个参数mode,用其说明新闻件的访问权限

  O_EXCL: 如果同时指定

  O_CREAT,而该文件又是存在的,报错;也可以测试一个文件是否存在,不存在则创建。

  O_TRUNC: 如果次文件存在,而且为读写或只写成功打开,则将其长度截短为0 O_SYNC: 使每次write都等到物理I\O操作完成。

  mode:对于open而言,仅当是用 O_CREAT 选项是才使用此参数,表示新建文件的权限设置。文件权限使用 3位 8进制数 (eg:0666)表示。

返回值:

  成功返回文件描述符,出错返回-1 。

Close

close()是一个系统调用函数(systemcall)。作用关闭一个打开的文件。

需要包含的头文件:<unistd.h>

函数原型:

  int close(int fd)

参数:

  fd:需要关闭文件的文件描述符。

返回值:

  成功返回 0;   出错返回 -1;

  当一个进程终止的时候,它所有的打开文件都是由内核自动关闭。很多程序都使用这一功能而不显式地调close关闭一个已打开的文件。 但是,作为一名优秀的程序员,应该显式的调用close来关闭已不再使用的文件。

使用open创建一个文件,close关闭:open.c

 #include <stdio.h>
#include <unist.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h> #define FILE_PATH "./test.txt" int main(void)
{
int fd;
   /*创讲一个权限为0666的文件,并以读写方式打开,若文件已存在进行提示*/
if ((fd = open(FILE_PATH, O_RDWR | O_CREAT | O_EXCL, )) < ) {
printf("open error\n");      /*当前目标已存在test.txt文件,打印“open error”*/
exit(-);
} else {
printf("open success\n");     /*不存在创建该文件,打印“open success”*/
}
19   close(fd);        /*关闭文件*/
20 return ;
}

open(),close() 打开/关闭文件的更多相关文章

  1. 根据python上下文管理,写一个在读文件内容前后自动打开关闭文件的程序

    利用上下文管理实现读f文件前后自动打开关闭文件#在本目录创建f文件,内容写monkey代码如下 import contextlib #导入模块1 @contextlib.contextmanager# ...

  2. fopen(),fclose() 打开/关闭文件

    打开/关闭/刷新流 1. fopen() 打开流 功能: 1)fopen()打开由 path指定的一个文件. 2)fdopen()获取一个先有的文件描述符,并使一个标准的I/O流与该描述相结合.此函数 ...

  3. [Python] python3 文件操作:从键盘输入、打开关闭文件、读取写入文件、重命名与删除文件等

    1.从键盘输入 Python 2有两个内置的函数用于从标准输入读取数据,默认情况下来自键盘.这两个函数分别是:input()和raw_input(). Python 3中,不建议使用raw_input ...

  4. PHP怎么打开或者关闭文件?

    什么是文件处理? 文件处理包括读取,关闭,重写等.掌握文件的处理需要读者理清思路,掌握好文件处理的关键步骤和常用函数,那么就可以运用自如了!感兴趣的请移步php文件处理专题. 比如,访问一个文件需要 ...

  5. java io流(字符流) 文件打开、读取文件、关闭文件

    java io流(字符流) 文件打开 读取文件 关闭文件 //打开文件 //读取文件内容 //关闭文件 import java.io.*; public class Index{ public sta ...

  6. notepad++ 开启/关闭 记住最后打开的文件

    开启记住最后打开的文件 1) 6.3以前版本如下设置: 设置-->首选项-->其他 把左下角的 "记住最后打开文件" 勾选. 2) 6.3以后版本如下设置: 设置--& ...

  7. 从零开始学C++之IO流类库(二):文件流(fstream, ifstream, ofstream)的打开关闭、流状态

    一.文件流 ofstream,由ostream派生而来,用于写文件 ifstream,由istream派生而来, 用于读文件 fstream,由iostream派生而来,用于读写文件 二.打开文件 说 ...

  8. Notepad++如何关闭最近打开的文件的历史记录功能

    Notepad++是Windows 操作系统下的一套非常有特色的自由软件的纯文字编辑器(许可证:GPL),有完整的中文化接口及支持多国语言编写的 功能(UTF8 技术).它的功能比Windows中的N ...

  9. 文件流(fstream, ifstream, ofstream)的打开关闭、流状态

    一.文件流 ofstream,由ostream派生而来,用于写文件 ifstream,由istream派生而来, 用于读文件 fstream,由iostream派生而来,用于读写文件 二.打开文件 说 ...

随机推荐

  1. 大数据笔记11:MapReduce的运行流程

    1.基本概念 (1)Job & Task (2)JobTracker (3)TaskTracker

  2. 服务器重启后Oracle监听服务没有自动启动的解决方案

    最近一直在被这样一个问题烦恼,就是服务器断电重启后,Oracle监听服务没有正常自动启动(监听服务已经设置为自启动). 具体是这样的,监听服务设置为开机自启动,Oracle数据库服务设置为开机延时启动 ...

  3. Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)

    原文:InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序) InstallShield Limited Edi ...

  4. window下Slik SVN的安装配置

    我相信各位都应该对SVN不会陌生吧,我相信绝大多数人都使用过,但是并不是人人都自己配置过SVN服务器.下面就是我配置SVN服务器的步骤,以及在配置过程中碰见的一些问题,在此记录,希望对你有所帮助. 安 ...

  5. Go语言之defer

    defer语句被用于预定对一个函数的调用.我们把这类被defer语句调用的函数称为延迟函数.注意,defer语句只能出现在函数或方法的内部. 一条defer语句总是以关键字defer开始.在defer ...

  6. 关于qq创始人----马化腾的一些琐事

    马化腾(pony)写代码的水平如何? 一位产品经理吐槽: 曾经和pony一起写过代码. 当时5个人挤在一个只有四个位置的房间里,埋头开发,用C++.我当时负责写一个通讯模块,有一个bug弄了两天,没有 ...

  7. U盘装系统系列三—-ghost系统安装教程

    前面和大家分享了如何用老毛桃U盘启动盘制作工具把U盘制作启动盘,接下来说下制作好启动盘之后如何安装ghost系统.首先我们准备好ghost镜像复制到U盘中:然后用U盘启动:选择[01]后按Enter键 ...

  8. ecstore实现图片分离(静态资源分离)配置文件

    转载http://bbs.ec-os.net/read.php?tid=854 图片分离涉及到三个config设置#define('APP_STATICS_HOST', 'http://192.168 ...

  9. 创建DataTable并把列默认值

    DataTable dt=new DataTable(); dt.Columns.Add("id"); dt.Columns["id"].DefaultValu ...

  10. 如果通过adb查看当前显示的activity

    通过adb 查看最上层成activity名字: linux: adb shell dumpsys activity | grep "mFocusedActivity" window ...