c - 关闭无效的文件描述符有什么作用?

标签 c file-io

我有一些遗留代码可以到处执行此操作:

int fd; // open a file 

if(fd == -1)
{
    close(fd);
}

我觉得这很不对。

关闭无效的文件描述符是否有效?

最佳答案

根据手册:

Upon successful completion, a value of 0 is returned. Otherwise, a value of -1 is returned and the global integer variable errno is set to indicate the error.

然后:

 The close() system call will fail if:

 [EBADF]            fildes is not a valid, active file descriptor.

那么就不会发生任何有害的事情了。

关于c - 关闭无效的文件描述符有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40915329/

相关文章:

python - 附加文件时缺少行

design-patterns - 保存和写入不同文件格式的模式

c - 尝试在客户端-服务器程序中的进程之间创建共享内存段

c - 为什么 float 输出的结果与 double 输出的结果不同?

android - 在 NDK 中使用 fopen()、fread() 打开文件时出现致命信号 11,但 AAsset_read 工作正常

c - 在没有 stdio.h 的情况下从 c 中的文本中删除特定行

java - java 写入文件的帮助

谁能告诉我为什么这段代码不起作用并且一直打印 0.00 公里作为最短距离?

c - 为什么当数组大小是偶数时这段代码会变慢?

c++ - '\r' 转义序列有什么用?