C语言规范要求所有C程序都有三个可用的流(stream): stdout
、stdin
和stderr
。
用户可以根据自己的需要使用这些流,例如:
fprintf(stdout, "lol");
fputs("oops", stderr);
fgets(buffer, 20, stdin);
C标准库中的一些函数会隐式地使用它们,例如:
printf("lol"); /* implicitly uses stdout */
puts("rofl"); /* implicitly uses stdout */
int c = getchar(buffer); /* implicitly uses stdin */
- C标准库中是否有任何函数隐式使用
stderr
? - 在常见的C标准库实现中(例如Linux上的GNU glibc),是否有任何函数隐式使用
stderr
?
perror()
函数会将错误信息输出到标准错误流。 - MikeCATfflush(NULL)
刷新 所有 流。 - KamilCukperror()
,但我想要一个“全面”的列表,可是我在网上找不到。我不想在问题中提到 perror,因为这感觉像是会影响答案 :) - Pod