c++ 标准流文件

一、标准流stdin,stdout,stderr

 

标准输入流stdin

   是程序可以读取其输入的位置。缺省情况下,进程从键盘读取 stdin 

 fscanf(stdin,"%d%d%f%s",&n1,&n2,&f1,s);   //相当于 scanf("%d%d%f%s",&n1,&n2,&f1,s); scanf隐含了stdin;

标准输出流stdout:

   是程序写入其输出的位置。缺省情况下,进程将 stdout 写到终端屏幕上。

 fprintf(stdout,"%10d%10d%16f %s",111,222,f1,"xxxbbb");   //相当于printf("%10d%10d%16f %s",111,222,f1,"xxxbbb"); printf隐含了stdout

标准错误流stderr:

  是程序写入其错误消息的位置。缺省情况下,进程将 stderr 写到终端屏幕上

fprintf(stderr,"出错了 ");//区别于printf("出错了 ");

二、流的重定向freopen

区别:stdinstdout都可以被重定向,stderr不能

int main(void)
{   
char num[256]; FILE *f; f=freopen("test.txt","r",stdin); scanf("%s",&num);//fscanf(stdin,"%s",&num); printf("num=%s ",num); fflush(stdin); f=freopen("con","r",f);//把输入流重新定向到键盘 getchar(); getchar(); return 0; }
原文地址:https://www.cnblogs.com/whzym111/p/6149418.html