use*_*391 0 unix linux file-descriptor
我是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;
}
Run Code Online (Sandbox Code Playgroud)
test.target只使用touch命令创建.该程序的输出是:
var fd = 3
perror output:: Success
Run Code Online (Sandbox Code Playgroud)
我试图打开其他文件,文件描述符总是3.我记得它的值应该是一个更大的数字.如果这个程序有一些错误?
这似乎很正常.进程以预先打开的文件描述符开头:stdin为0,stdout为1,stderr为2.您打开的任何新文件都应以3开头.如果您关闭文件,该文件描述符编号将重新用于您打开的任何新文件.
归档时间: |
|
查看次数: |
3549 次 |
最近记录: |