【发布时间】:2018-08-22 12:08:04
【问题描述】:
在编写简单的 c 程序并在终端应用程序中执行它们时,printf 会影响scanf,就像空白字符一样,因此似乎 stdout 和 stdin 是连接的。这怎么可能?
【问题讨论】:
-
你能举个例子吗?
-
稍后当我不使用手机打字时;->
在编写简单的 c 程序并在终端应用程序中执行它们时,printf 会影响scanf,就像空白字符一样,因此似乎 stdout 和 stdin 是连接的。这怎么可能?
【问题讨论】:
如果标准输入和标准输出都连接到一个终端(同一个终端?),那么 C 库实现通常会在对标准输入开始输入操作之前安排刷新标准输出。它是 C 库的属性,而不是伪 tty 或 pty 的属性。 C standard 或 POSIX、AFAICT 并没有强制要求这种行为,但它在类 Unix 系统上很常见,尤其是因为它会使程序看起来更具响应性。
缩写中通常只有一个t,主要是因为伪终端设备名称通常以pty开头。
【讨论】: