zoukankan      html  css  js  c++  java
  • 标准输出中stderr和stdout的区别

    一、首先介绍一下三者printf,sprintf,fprintf的功能

    1,printf就是标准输出,在屏幕上打印出一段字符串来。

    2,sprintf就是把格式化的数据写入到某个字符串中。返回值字符串的长度。

    3,fprintf是用于文件操作。

          原型:int fprintf(FILE *stream,char *format,[argument]);       

          功能:fprintf()函数根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件.因此fprintf()可以使得信息输出到指  定的文件。

    二、区别 
    stdout -- 标准输出设备 stdout。 
    stderr -- 标准错误输出设备 
    两者默认向屏幕输出。 
    但如果用转向标准输出到磁盘文件,则可看出两者区别。stdout输出到磁盘文件,stderr在屏幕。 

    在默认情况下,stdout是行缓冲的,他的输出会放在一个buffer里面,只有到换行的时候,才会输出到屏幕。而stderr是无缓冲的,会直接输出。

    三、关于缓冲的说明

    四、案例

    1,向文件中输入数据

    1 char zf[20] =  "this is a test!" ;
    2     FILE* aabb;
    3     aabb = fopen("abc.txt","w");
    4     printf("hello,world");
    5     if(aabb!=NULL)
    6     fprintf(aabb,"Hello%s
    ",zf);

    2.

    fprintf(stdout,"Hello ");
    fprintf(stderr,"World!");
    
    输出:world!Hello
  • 相关阅读:
    Binary Tree Zigzag Level Order Traversal
    Binary Tree Level Order Traversal
    Symmetric Tree
    Best Time to Buy and Sell Stock II
    Best Time to Buy and Sell Stock
    Triangle
    Populating Next Right Pointers in Each Node II
    Pascal's Triangle II
    Pascal's Triangle
    Populating Next Right Pointers in Each Node
  • 原文地址:https://www.cnblogs.com/mydomain/p/9817320.html
Copyright © 2011-2022 走看看