Linux的基础文件描述符

环境:Vmware Workstation;CentOS-6.4-x86_64


说明:

1、Linux下所有内容都是文件,文件都有文件描述符。

2、文件描述符:就是打开的文件编号。

3、一个进程会默认打开三个文件:标准输入(stdin),标准输出(stdout),标准出错(stderr)。

4、默认打开的三个文件,头文件为unistd.h


程序:

作用:验证进程默认打开的三个文件的文件描述符为0、1、2。

图解说明:

步骤:

1、书写main.c:

#include <unistd.h> // 包含必要的头文件
#include <stdio.h>


int main(int argc, char *args[])
{
	// STDIN_FILENO标准输入的文件描述符
	printf("STDIN_FILENO = %d\n", STDIN_FILENO);
	// STDOUT_FILENO标准输出的文件描述符
	printf("STDOUT_FILENO = %d\n", STDOUT_FILENO);
	// STDERR_FILENO标准出错的文件描述符
	printf("STDERR_FILENO = %d\n", STDERR_FILENO);
	return 0;
}

2、书写makefile:

.SUFFIXES:.c .o

CC=gcc

SRCS=main.c
OBJS=$(SRCS:.c=.o)
EXEC=main

start: $(OBJS)
	$(CC) -o $(EXEC) $(OBJS)
	@echo "-----------------------------OK-----------------------"

.c.o:
	$(CC) -Wall -o $@ -c $<

clean:
	rm -rf $(EXEC) $(OBJS)

3、编译并执行程序:

[negivup@negivup mycode]$ make
gcc -Wall -o main.o -c main.c
gcc -o main main.o
-----------------------------OK-----------------------
[negivup@negivup mycode]$ ./main
STDIN_FILENO = 0
STDOUT_FILENO = 1
STDERR_FILENO = 2
从程序的执行结果中可以看出,标准输入的文件描述符是0,标准输出的文件描述符是1,标准出错的文件描述符是2。


PS:根据传智播客视频学习整理得出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值