如果我有某种类型的库,它具有类似 void foo(FILE* fp)
的功能,并且我有一个 char*
数据数组,是否存在我有什么方法可以将指针传递给数组或类似于 foo
函数的东西?
我现在正在做的是使用 system()
写入一个临时文件,我不太喜欢这样做。
最佳答案
不,stdio 库无法定义您自己的缓冲方案。
给定 POSIX 和虚拟内存,您可以使用 mmap
打开带有后备文件的内存区域。操作系统可能会选择不将文件写入磁盘。细节因操作系统而异,但这可以接近理想的解决方案。
或者,如 Barmar 所建议的,使用 pipe
将数据从进程中的辅助线程发送到主线程。
至于简单的解决方案……既然可以使用 mktemp()
、fopen()
、 为什么还要使用
?system()
fwrite()
关于c - 在c中将内存地址作为文件传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22314340/