linux操作机制以及标准库stdio.h调用原理

程序员成长之旅 · 程序员成长之旅/Linux学习 · 473 字

linux系统中 把所有外设 文件 程序 等都是当成对文件操作

怎么讲呢? 例如u盘 摄像头 打印机 麦克风  显示器

和在磁盘里保存文件是一样的

如果我们运行一个程序 的瞬间 为我们应用程序启动一个东西叫进程,那么启动进程的同时,它会给我们提供一系列的指针。 会认为都是对文件进行操作 并且创建三个文件

stdin //输入  默认 键盘          可选 扫描仪 网卡 麦克风 等等 
stdout//输出  默认 显示器的终端   可选 打印机 印象 文件 等等 
srderr//错误处理

另外 我们平时 使用的printf scanf 其实是这样调用的(封装)

//printf("Please input value a"); 完全相等于
fprintf(stdout, "Please input value a\n");

int a;
//scanf("%d",&a); 完全相等于
fscanf(stdin,"%d",&a);

实验

#include<stdio.h>
int main(){
        //printf("Please input value a"); 下面为完整形式
        fprintf(stdout, "Please input value a\n");

        int a;
        //scanf("%d",&a); 完整形式:
        fscanf(stdin,"%d",&a);

        if(a<0){
                fprintf( stderr,"The value must >0\n");
                return 1;
        }
        return 0;
}