我想在內存中創建一個臨時文件,沒有它寫入磁盤,可以從其他進程使用CreateFile
打開,就像它是一個普通文件一樣。
這是可能的還是我必須將其寫入磁盤?創建一個內存文件
Q
創建一個內存文件
2
A
回答
0
CreateFile將文件路徑作爲參數。對於其他進程能夠打開它,該文件位置應映射到系統中現有的設備之一。
其中一個這樣的設備可以是RAM磁盤/設備,您可以在其中創建文件而無需將它們寫入物理磁盤(內存交換放在一邊)。但是這需要安裝和激活這樣的(虛擬)設備。
如果你只是需要在進程之間共享內存,那麼看看例如shmem implementation。
+1
該鏈接是無用的。 Windows上的共享內存使用'CreateFileMapping'和'MapViewOfFile'完成。 – IInspectable
2
您所要求的通常不能用CreateFile()
(除非您使用RAMdisk方法)完成,但可以使用CreateFileMapping()
和MapViewOfFile()
代替。可以爲映射對象分配一個名稱,以便跨進程邊界共享該映射對象,然後可以根據需要將多個進程打開自己的視圖。
相關問題
- 1. 在內存中創建一個PDF文件
- 2. 在內存中創建一個Zip文件
- 3. 在內存中創建一個gzip文件尋找cpp示例
- 4. C++/Win32在虛擬內存中創建一個文件
- 5. 堆棧內存錯誤創建一個核心文件?
- 6. 在內部存儲中創建一個公共文件夾
- 7. File.Copy在內存中創建一個文件
- 8. 從內存中的多個文件創建zip文件
- 9. 如何從文件字節開始在內存中創建一個zip文件?
- 10. 在內存中創建ZIP文件
- 11. C - 在內存中創建文件
- 12. CSV文件創建時內存不足
- 13. 從內存流C創建Zip文件#
- 14. MAMP PRO內創建一個文件夾/文件/上開始
- 15. 創建一個.jar文件
- 16. 創建一個make文件
- 17. 創建一個plist文件
- 18. 創建一個exe文件
- 19. 創建一個Dll文件
- 20. 創建一個xml文件
- 21. 創建一個AVI文件
- 22. 創建一個CSV文件
- 23. 創建一個pcap文件
- 24. 創建一個Microsoft.JScript文件
- 25. 創建一個.bat文件
- 26. 創建一個makefile文件
- 27. 創建一個php文件
- 28. silverlight:在內存中創建一個文件,並提供它在本地保存
- 29. 在內部存儲器中創建一個目錄並保存文件
- 30. 如果舊文件存在,請創建一個新文件名
http://stackoverflow.com/questions/5135854/make-a-file-pointer-read-write-to-an-in-memory-location –
@AmericanPatriot由於我使用Windows API,也稱爲作爲WinAPI。 – man
@JacquesdeHooge'fmemopen'似乎在Windows上不可用。 – man