C流系统是如何工作的?
例如,代码:
FILE *f;
// opens f...
fputc(f, "x");会做不同的事情,这取决于'f‘是如何打开的。如果'f‘是作为文件打开的,则会在该文件中写入一个字符。如果'f‘是作为内存流打开的,则会在内存中写入一个字符,并且可能会分配更多内存。
所以我的问题是: fputc函数如何知道'f‘是什么意思,以及如何处理它?
附加问题:它是否完全依赖于操作系统,或者是否有可能在纯C中实现像这样的抽象接口?
发布于 2012-02-29 20:12:10
open函数将该信息存储在f所指向的FILE结构中。它是纯C语言,尽管写入文件的低级代码将依赖于平台。
https://stackoverflow.com/questions/9498872
复制相似问题