惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Security Archives - TechRepublic
MongoDB | Blog
MongoDB | Blog
量子位
博客园 - 叶小钗
罗磊的独立博客
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Hacker News: Ask HN
Hacker News: Ask HN
MyScale Blog
MyScale Blog
GbyAI
GbyAI
Help Net Security
Help Net Security
Y
Y Combinator Blog
Engineering at Meta
Engineering at Meta
Hacker News - Newest:
Hacker News - Newest: "LLM"
Latest news
Latest news
H
Hacker News: Front Page
Blog — PlanetScale
Blog — PlanetScale
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
P
Proofpoint News Feed
C
CXSECURITY Database RSS Feed - CXSecurity.com
Scott Helme
Scott Helme
S
Schneier on Security
博客园 - 司徒正美
Hugging Face - Blog
Hugging Face - Blog
S
Security @ Cisco Blogs
Recorded Future
Recorded Future
S
Securelist
博客园 - Franky
Application and Cybersecurity Blog
Application and Cybersecurity Blog
A
About on SuperTechFans
N
News and Events Feed by Topic
AI
AI
T
Tenable Blog
N
News | PayPal Newsroom
C
Cybersecurity and Infrastructure Security Agency CISA
V
V2EX - 技术
T
Threat Research - Cisco Blogs
Cisco Talos Blog
Cisco Talos Blog
L
LINUX DO - 热门话题
N
Netflix TechBlog - Medium
S
SegmentFault 最新的问题
T
The Blog of Author Tim Ferriss
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Google Online Security Blog
Google Online Security Blog
S
Security Affairs
Webroot Blog
Webroot Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
博客园 - 三生石上(FineUI控件)
C
Comments on: Blog
G
GRAHAM CLULEY

博客园 - 老保

不要把MASM32开发环境和MASM汇编器版本搞混了 python获取当前脚本所在目录 python迭代器 mysql 随记 c程序设计语言(第二版) 阅读笔记 八 文件 c程序设计语言(第二版) 阅读笔记 七 结构和联合 c程序设计语言(第二版) 阅读笔记 六 指针 c程序设计语言(第二版) 阅读笔记 五 变量作用域及变量声明和定义 c程序设计语言(第二版) 阅读笔记 四 函数定义域声明规则 c程序设计语言(第二版) 阅读笔记 三 ANSI C及较早版本函数声明 c程序设计语言(第二版) 阅读笔记 二 变量声明 extern c程序设计语言(第二版) 阅读笔记 一 特点和简介 XMLHttpRequest和W3C DOM备忘 socket 常用的数据结构备忘 笔试题目 - 老保 NHibernate Configuration和Sessionfactory - 老保 c# 学习笔记1 (枚举和结构类型和数组) js常用函数 一个很简洁 效果很好的js效果 - 老保
c程序设计语言(第二版) 阅读笔记 九 unix系统IO
老保 · 2009-11-03 · via 博客园 - 老保

  一个程序同时打开的文件数是有限的(通常为20)。相应地,如果一个程序需要同时处理许多很久,那么他必须重用文件描述符。函数close(int fd)用来断开文件描述符和已经打开的文件之间的连接,并释放此文件描述符,以供其他文件使用。close函数与标准函数库中的fclose函数相对应,但它不需要清洗(flush)缓冲区。如果程序通过exit函数退出或从主程序中返回,所有打开的文件将被关闭。

  int open(char *name, int  flags, int perms)   

  与fopen一样,参数name是一个包含文件名的字符串。第二个参数flags是一个int类型的值,它说明以何种方式打开文件,主要的几个值如下所示:

  O_RDONLY          以只读方式打开文件
  O_WRONLY         以只写方式打开文件
  O_RDWR            以读写方式打开文件

  在System V UNIX系统中,这些常量在头文件<fcntl.h>中定义,而在Berkeley(BSD)版本中则在<sys/file.h>中定义。

  可以使用下列语句打开一个文件以执行读操作:

  fd = open(name, O_RDONLY, 0);

  在本章的讨论中,open的参数perms的值始终为0.

  如果用open打开一个不存在的文件,则将导致错误。可以使用create系统调用创建新文件或覆盖已有的旧文件,如下所示:

  int create(char *name, int perms);

  fd = create(name, perms);

  如果create成功的创建了文件,它将返回一个文件描述符,否则返回-1。如果此文件已存在,create将把该文件的长度截断为0,从而丢弃原先已有的内容。使用create创建一个已存在的文件不会导致错误。