open(),close() 打开/关闭文件
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() 打开/关闭文件的更多相关文章
- 根据python上下文管理,写一个在读文件内容前后自动打开关闭文件的程序
利用上下文管理实现读f文件前后自动打开关闭文件#在本目录创建f文件,内容写monkey代码如下 import contextlib #导入模块1 @contextlib.contextmanager# ...
- fopen(),fclose() 打开/关闭文件
打开/关闭/刷新流 1. fopen() 打开流 功能: 1)fopen()打开由 path指定的一个文件. 2)fdopen()获取一个先有的文件描述符,并使一个标准的I/O流与该描述相结合.此函数 ...
- [Python] python3 文件操作:从键盘输入、打开关闭文件、读取写入文件、重命名与删除文件等
1.从键盘输入 Python 2有两个内置的函数用于从标准输入读取数据,默认情况下来自键盘.这两个函数分别是:input()和raw_input(). Python 3中,不建议使用raw_input ...
- PHP怎么打开或者关闭文件?
什么是文件处理? 文件处理包括读取,关闭,重写等.掌握文件的处理需要读者理清思路,掌握好文件处理的关键步骤和常用函数,那么就可以运用自如了!感兴趣的请移步php文件处理专题. 比如,访问一个文件需要 ...
- java io流(字符流) 文件打开、读取文件、关闭文件
java io流(字符流) 文件打开 读取文件 关闭文件 //打开文件 //读取文件内容 //关闭文件 import java.io.*; public class Index{ public sta ...
- notepad++ 开启/关闭 记住最后打开的文件
开启记住最后打开的文件 1) 6.3以前版本如下设置: 设置-->首选项-->其他 把左下角的 "记住最后打开文件" 勾选. 2) 6.3以后版本如下设置: 设置--& ...
- 从零开始学C++之IO流类库(二):文件流(fstream, ifstream, ofstream)的打开关闭、流状态
一.文件流 ofstream,由ostream派生而来,用于写文件 ifstream,由istream派生而来, 用于读文件 fstream,由iostream派生而来,用于读写文件 二.打开文件 说 ...
- Notepad++如何关闭最近打开的文件的历史记录功能
Notepad++是Windows 操作系统下的一套非常有特色的自由软件的纯文字编辑器(许可证:GPL),有完整的中文化接口及支持多国语言编写的 功能(UTF8 技术).它的功能比Windows中的N ...
- 文件流(fstream, ifstream, ofstream)的打开关闭、流状态
一.文件流 ofstream,由ostream派生而来,用于写文件 ifstream,由istream派生而来, 用于读文件 fstream,由iostream派生而来,用于读写文件 二.打开文件 说 ...
随机推荐
- hdu 2025
水题 AC代码: #include <iostream> using namespace std; int main() { char a[100],*p; int max,i; whil ...
- Polyline对象 - (及其他对象的关系)
Polyline对象是由一个或多个相连或者不相连的path对象的有序集合,通常用来代表线状地物如道路,河流,管线等等.
- Intellij idea配置springMvc4.2.6
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面. 环境: Intellij iead 2016.1 java version " ...
- html+css布局小练习w3cfuns
虽然花了很长时间,但是也知道了不少,这次也不像以前了,不知道怎么下手,虽然是照着图片做,不过也做出来了图片来自w3cfuns:网站图片url 看了w3cfuns的两天驾驭DIV+CSS 这个网站对新 ...
- Dede文章列表
文章列表标签的使用: {dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen='' imgwidth='' imgheig ...
- IIS下 Yii Url重写
下载URL重写组件 http://www.microsoft.com/zh-cn/download/details.aspx?id=7435 导入官方提供的.htaccess文件 Options +F ...
- linux下安装eclipse
最开始的版本OpenSuse + jre-7u25-linux-i586.tar.gz + eclipse-cpp-kepler-R-linux-gtk.tar.gz 配置好java环境后启动ecli ...
- Nokia N9开启开发者模式
最近淘宝买个二手Nokia N9,纯粹是好奇meego系统. 到手了开始折腾,官方源早关闭了,导致无法开启开发者模式,没有权限很不方便.翻了翻dospy论坛的帖子,发现了n9repomirror_0. ...
- Eclipse快捷键集结
Debug快捷键 F5单步调试进入函数内部. F6单步调试不进入函数内部,如果装了金山词霸2006则要把“取词开关”的快捷键改成其他的. F7由函数内部返回到调用处. F8一直执行到下一个 ...
- Android中写入读取XML
获取XML文件的基本思路是,通过getResources().getXml()获的XML原始文件,得到XmlResourceParser对象,通过该对象来判断是文档的开头还是结尾,是某个标签的开始还是 ...