gpt4 book ai didi

linux编程: value of file descriptor is always 3

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:43:18 25 4
gpt4 key购买 nike

我是 Linux 编程的新手。我写了一个非常简单的程序:

#include stdio.h
#include fcntl.h
#include sys/ioctl.h
#include mtd/mtd-user.h
#include errno.h

int main( void )
{
int fd;

fd = open("test.target", O_RDWR);
printf("var fd = %d\n", fd);
close(fd);
perror("perror output:");

return 0;
}

test.target 是使用 touch 命令创建的。该程序的输出是:

var fd = 3
perror output:: Success

我试过打开其他文件,文件描述符一直是3。我记得它的值应该是一个更大的数字。如果这个程序有什么错误?

最佳答案

这看起来很正常。进程以预先打开的文件描述符开始:0 代表 stdin,1 代表 stdout,2 代表 stderr。您打开的任何新文件都应以 3 开头。如果您关闭文件,该文件描述符编号将重新用于您打开的任何新文件。

关于linux编程: value of file descriptor is always 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10353243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com