不明白stdin、stdout和stderr是什么!谁给详细的说说!
不明白stdin、stdout和stderr是什么!谁给详细的说说!
一般情况下,是不是用不到它们?
[解决办法]
stdin是标准输入文件,stdout是标准输出文件,stderr标准出错文件,应用在输出的重新定位上。
http://docs.hp.com/zh_cn/5187-2211/ch03s03.html
[解决办法]
stdout -- 标准输出设备 (printf("..")) 同 stdout。
stderr -- 标准错误输出设备
两者默认向屏幕输出。
但如果用转向标准输出到磁盘文件,则可看出两者区别。stdout输出到磁盘文件,stderr在屏幕。
用法:
fprintf(stderr, "Can't open it!\n");
fprintf(stdout, "Can't open it!\n");
stdin -- 标准输入设备.
用法:
char s[80];
fputs(fgets(s,80,stdin);
[解决办法]
楼上两位说的没错
确实,你一般情况下,是用不到的
因为都会有默认设置,,printf,scanf,都是默认在控制台下,也可以转到文件
[解决办法]
要读写, 得知道从哪里读, 往哪里写吧?
这个叫输入输出设备.
stdin, stdout, stderr 是系统预先提供给你的设备.
[解决办法]
每个进程开始。内核为进程打开3个流分别是 0 1 2,
0就是stdin 1就是stdout 2就是strerr
[解决办法]
stdin stdout stderr 就像 FILE *fp一样
0 1 2 UNIX/Linux下的文件描述符 和上面相对应
[解决办法]
C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC\STDIO.H
...struct _iobuf { char *_ptr; int _cnt; char *_base; int _flag; int _file; int _charbuf; int _bufsiz; char *_tmpfname; };typedef struct _iobuf FILE;...#define stdin (&_iob[0])#define stdout (&_iob[1])#define stderr (&_iob[2])...
[解决办法]
没有缓冲 你要打开内存监视 或者看下编译器里关于 stderr的定义 c的好处就是源码你很容易解读 不想c# 封装的面目全非了
[解决办法]
stdin,stdout,stderr都是FILE*类型的变量,定义于stdio.h里面,代表标准输入,标准输出,标准出错。一般和文件描述符0,1,2相关联。
[解决办法]