首页 文章

为什么stdin和stdout被认为是C中的文件?

提问于
浏览
0

例如, stdio.h 库有一些需要 FILE * 参数的函数,但接受来自终端的用户输入的 stdin .

2 回答

  • 3

    C stdio 函数对流而不是文件进行操作 . 就代码而言,流只是字节的消费者(输出流)或 生产环境 者(输入流) .

    流可以与磁盘上的文件相关联 . 它也可能与终端相关联 . 或打印机 . 或者是网络套接字 . 或者您可能想要与之沟通的任何其他内容 . 流是任何可以读取或写入字节串的东西的抽象 .

    stdinstdout (以及 stderr )是预定义的 FILE * 对象,通常是指您的控制台,尽管您可以在命令行或代码中覆盖它 .

  • 0

    stdinstdout 只不过是标准输入和输出文件的指针 . 由于您可以在代码中或使用命令提示符更改这些内容,因此这些内容无法指向实际输入,因为您无法更改它 .

    stdinstdio 只是从 standard outputstandard input 读取或写入的文件中获取信息 . 这样,使用命令和代码更改它会容易得多 .

相关问题