gpt4 book ai didi

c - 在c中将内存地址作为文件传递

转载 作者:太空宇宙 更新时间:2023-11-04 06:29:26 25 4
gpt4 key购买 nike

如果我有某种类型的库,它具有类似 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com