C 如何创建文件流?

C 如何创建文件流?,c,memory-management,io,filestream,C,Memory Management,Io,Filestream,文件流总是通过指针加入,并且它们总是预先创建的。但是,有没有可能在程序内部创建一个文件流,作为一个在内存中保留空间的对象,而不使用外部文件 我的第一个想法是声明一个文件*指针,然后使用malloc()为文件对象分配内存: 但我想这是不对的 如何以正确的方式使用fileStream,使用像fprintf()和fscanf()这样的I/O函数,…C本身不支持这一点。您需要使用特定于平台的方法。例如,如果在Unix上,您可以将memmap和fdopen组合在一起。对于其他平台,请参阅平台文档。fope

文件流总是通过指针加入,并且它们总是预先创建的。但是,有没有可能在程序内部创建一个文件流,作为一个在内存中保留空间的对象,而不使用外部文件

我的第一个想法是声明一个
文件*
指针,然后使用
malloc()
文件
对象分配内存:

但我想这是不对的


如何以正确的方式使用
fileStream
,使用像
fprintf()
fscanf()
这样的I/O函数,…

C本身不支持这一点。您需要使用特定于平台的方法。例如,如果在Unix上,您可以将
memmap
fdopen
组合在一起。对于其他平台,请参阅平台文档。

fopen有什么问题?您的意思是要将内存缓冲区视为文件吗?@larsmans是的,与
stdin
完全相同……我仍然不明白您的意思
stdin
是一个普通的
文件*
@larsmans
stdin
文件*
但它指向内存中的一个空间,不是吗?
FILE *fileStream = malloc(sizeof(FILE));