在MSVC 10中什麼叫最好模擬pread/pwrite?等價於MSVC中的pread/pwrite?
3
A
回答
3
在C運行時庫級別,請看fread,fwrite和fseek。
在Win32 API級別,請查看ReadFile,WriteFile和SetFilePointer。 MSDN有廣泛的覆蓋file I/O API's。
請注意,ReadFile和WriteFile都採用OVERLAPPED結構參數,它允許您指定文件偏移量。對於支持字節偏移的所有文件,即使打開同步(即「非重疊」)I/O,也要遵守偏移量。
根據您嘗試解決的問題,file mapping可能是更好的設計選擇。
1
它看起來像你只需要使用LPOVERLAPPED參數ReadFile/WriteFile一個指針傳遞給OVERLAPPED結構與偏移指定偏移和OffsetHigh。
(注:其實你不得到重疊的IO,除非手柄與FILE_FLAG_OVERLAPPED打開)
相關問題
- 1. 等價的MSVC++ _wrename在Linux g ++中?
- 2. 等價於其他編譯器中MSVC的_countof?
- 3. msvc的等效於gcc的__BASE_FILE__
- 4. CakePHP中的HttpSocket等價於
- 5. 等價於.NET中的System.currentTimeMillis()?
- 6. 等價於R中的normxcorr2?
- 7. 等價於WPF中的InvokeRequired
- 8. 等價於Julia中的pickle
- 9. 等價於AngularJS中的location.href.match
- 10. 等價於C++中的C++
- 11. 等價於D中的remove_if
- 12. 等價於BN_hex2bn
- 13. 等價於getbounds
- 14. 在php中等價於memcpy
- 15. MSVC/FA GCC等效
- 16. Solaris中的「installf」等價於Linux中的
- 17. `expect_any_instance_of`等價於PHPUnit
- 18. C++等價於Tidy
- 19. Scala等價於java.util.Collection?
- 20. iPad等價於onmousemove?
- 21. WPF等價於ActiveControl?
- 22. SizeToContent等價於WinForm?
- 23. jconsole等價於.Net?
- 24. Scala等價於pyTables?
- 25. Java等價於IntPtr.ZERO?
- 26. C++等價於SerializeWithLengthPrefix
- 27. Python等價於bwmorph
- 28. JAXB等價於@Mappedsuperclass
- 29. WPF等價於TextRenderer
- 30. xmlseealso等價於Simplexml
隨着文件映射外,這些電話不是原子相對於文件中的位置。我認爲文件映射有點遠,但這是一個考慮因素。 – 2010-10-04 13:05:51
ReadFile/WriteFile採用OVERLAPPED參數,該參數允許您指定您感興趣的文件偏移量。不要讓OVERLAPPED類型名稱誤導您 - 即使對於爲同步I/O打開的文件,偏移量也會受到尊重。 – 2010-10-04 18:32:13
很好的答案! +1 – 2012-02-25 11:22:49