如何将 RAM 数据视为真实文件?
所以我的程序中有一些临时数据(在 RAM 中)。我想以某种方式使它看起来像一个文件(例如将其发送到另一个以文件链接作为参数的程序)?
是否可以?
这样的事该怎么办呢?
So I have some temp data in my program (in RAM). I want to somehow make it seem as it is a file (for example for sending it into another program which takes a file link as argument)?
Is it possible?
How to do such thing?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
为什么不直接将文件写入磁盘呢?如果写入磁盘太慢,您可以将
FILE_ATTRIBUTE_TEMPORARY
标志传递给 CreateFile 将数据保留在缓存中(并避免将其写入物理设备)。有时明显的解决方案是最好的......
Why not simply write the file to disk? If writing to disk is too slow, you can pass the
FILE_ATTRIBUTE_TEMPORARY
flag to CreateFile to keep the data in cache (and avoid writing it to the physical device).Sometimes the obvious solutions are the best...
如果您的操作系统支持(Unixoid 系统和 Windows),您可以尝试使用 内存映射文件。
If supported by your operating system (Unixoid systems and Windows do), you could try to use memory-mapped files.
您可以在 C 中使用
popen()
函数来完成此操作:如果您的外部程序从
stdin
读取其输入,则这是可能的。You can do it in C using the
popen()
function:This is possible if your external program reads its input from
stdin
.你可以使用管道()
You could use pipe()
是的,这是可能的。您可以通过进程间通信机制将数据传输到其他应用程序:
编辑:MSDN 列出了适用于 Windows 此处的所有 IPC 机制。
Yes, it is possible. You can transfer your data to your other application via an interprocess communication mechanism:
EDIT: MSDN lists all the IPC mechanisms available for Windows here.