Linux中的文件描述符(file descriptor)

本文介绍了Unix系统中文件描述符(fd)的概念及其作用,并详细解释了标准输入、标准输出和标准错误这三个基本的文件描述符。此外还探讨了它们在C++中的使用方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

fd是一个非负整数,一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。

程序打开一个现有文件或者创建一个新文件,内核向该进程返回一个文件描述符。

每个Unix进程都有三个标准的POSIX文件描述符,对应三个标准流:

(ref:https://zh.wikipedia.org/wiki/%E6%96%87%E4%BB%B6%E6%8F%8F%E8%BF%B0%E7%AC%A6

整数值名称<unistd.h>符号常量[1]<stdio.h>文件流[2]
0Standard inputSTDIN_FILENOstdin
1Standard outputSTDOUT_FILENOstdout
2Standard errorSTDERR_FILENOstderr

 

标准输入:是输入到程序的数据(通常是文件)。程序要求以读(read)操作来传输数据。

C++ <iostream>变量为std::cin

并非所有的程序都要求输入,比如ls

除非重定向,否则输入是预期由键盘获取的。

标准输出:C++ <iostream>变量为std::cout

除非重定向,否则输出到终端(屏幕)

并非所有程序都要求输出,如mv

标准错误:C++ <iostream>变量为std::cerr 和 std::clog

默认输出到终端(屏幕)

 

转载于:https://www.cnblogs.com/geeklove01/p/8998676.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值