C流系统如何工作?
例如代码:
FILE *f;
// opens f...
fputc(f, "x");
将执行不同的操作,具体取决于“f”的打开方式。如果“f”作为文件打开,则会在该文件中写入一个字符。如果“f”作为内存流打开,则将在内存中写入一个字符,并且可能会分配更多内存。
所以我的问题是:fputc 函数如何知道“f”的含义以及如何处理它?</p>
附加问题:它是否完全取决于操作系统,或者是否可以在纯 C 中实现这样的抽象接口(interface)?
最佳答案
open 函数将该信息存储在 f
指向的 FILE
结构中。它是纯 C 语言,但写入文件的低级代码将取决于平台。
关于c - C Streams 系统如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9498872/