stdin,stdout和stderr即标准输入,标准输出和标准错误输出,默认情况下分别指向键盘,显示器,显示器。
fprintf(stdout,"")等同于printf("") 相当于封装
printf、sprintf与fprintf 的用法区分fprintf(stderr,"Error");和printf("Error");
一般情况下,你这两个语句运行的结果是相同的,没有区别,只有一下情况才有区别: 运行你的程序的时候,命令行上把输出结果进行的转向,比如使用下面的命令把你的程序a.c运行的结果转向到记事本文件a.txt: a.exe > a.txt 在这样的情况,如果使用printf输出错误信息,会保存到a.txt文件里面,如果使用fprintf输出错误,会显示在屏幕上。
1.printf 是和标准输出文件(stdout)关联的,fprintf 则没有这个限制.
2.fprintf是用于文件操作的,原型是int fprintf( FILE *stream, const char *format [, argument ]...);
3.sprintf是格式化输出到一个字符串,fprintf是格式化输出到一个stream,通常是到文件。
int fprintf( FILE *stream, const char *format [, argument ]...);
int sprintf( char *buffer, const char *format [, argument] ... );
重定向遵循的规则如下:
1.重定向运算符讲一个可执行程序与一个数据文件连接起来。它不能连接两个可执行程序,也不能连接两个文件。
2.使用重定向运算符时,输入只能定向到一个文件,即输入不能来自一个以上的文件。输出同理。
3.不要把一个程序的输入和输出定向到一个文件,如 xxxx < text >text,>text 使原始的text文件在用于输入之前被截断为零。