【发布时间】:2016-03-20 15:57:21
【问题描述】:
如果我用open("file.txt",O_RDONLY) 打开一个文本文件,我需要用close() 关闭它吗?
愚蠢的问题,我知道,但我不完全确定进程结束是否会打开打开的文件。
【问题讨论】:
-
收拾好自己的好习惯
-
旁注 - 在用 C 编写的应用程序代码中,您通常应该使用
fopen而不是调用open。fopen是标准的C,使其非常便携——甚至适用于 Windows,而open是 POSIX,使其不那么便携。所以open为你提供了更多“异国情调”的能力,比如mmap、pread和readv,但代价是放弃了便携性。如果你的代码只调用open、read、write、lseek和close,它应该调用fopen、fread、@987654340 @、fseek和fclose。 -
我知道,但是引用我喜欢的日本漫画,嗨,我是学生!或者用人类的话来说,这是分配的限制 - 使用系统调用而不是库函数来处理来自文件的 i/o。
标签: c unix system-calls