[Linux C语言](学习笔记)标准输入流输出流以及错误流

stdin 标准输入流,标准的输入设备默认键盘

stdout 标准输出流,标准的输出设备默认屏幕

stderr 标准错误流,只有程序出错时才会执行的流程

printf(“abc”) 是对fprintf(stdout,”abc”)函数的封装.把“ ”内的内容写入到stdout文件里去,stdout其实就是默认显示器(屏幕)

scanf(“%d”,&a) 是对fscanf(stdin,”%d”,&a)函数的封装.用键盘往a变量中输入一个数据

#include <stdio.h>
int main()
{
    printf("hello world!\n");//调用了标准输出流的功能
    int a;
    scanf("%d", &a);//调用了标准输入流的功能
    printf("input value is :%d\n", a);
    return 0;
}

实际上我们的操作系统,当我们执行程序的一瞬间,./a.out的一瞬间,它会

为我们应用程序启动一个东西叫进程,那么启动进程的同时,它会给我们提

供一系列的指针。

Linux把所有的东西都当作文件来处理,如果外接了个打印机,它把打印

机当作文件,外接了个U盘,它把U盘也当做文件。

它认为所有的外部设备和磁盘里保存的文件是一样的。
这里写图片描述

它把所有的东西都当作文件来处理,那么当我们启动应用程序的时候,它也当我们这个应用程序要和文件交互,它会默认帮我们创建三个文件

/*
stdin
stdout
stderr

*/

如果要读取一个设备的信息,就是通过标准输入流stdin来读取的。

如果我让我的这个应用程序读取的数据来自于键盘,那么我们就是接收来自

键盘的输入,当然我认为它来自于光盘,那么它读的就是光盘里的输入的文件。

所以,stdin就负责往这个程序里输入数据。

标准错误流:

#include <stdio.h>
int main()
{
    printf("please input the value a :\n");//调用了标准输出流的功能
    //fprintf(stdout,"please input the value a :\n");
    int a;
    scanf("%d", &a);//调用了标准输入流的功能
    //fscanf(stdin,"%d",&a);
    //我们要求a>0
    if (a < 0)
    {   fprintf(stderr,"the value must > 0");
        return 1;//让电脑知道程序出错,main函数返回值不等于0
    }
    return 0;
}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值