gpt4 book ai didi

c - _sopen_s 和 fopen .. 要使用什么?

转载 作者:太空宇宙 更新时间:2023-11-04 03:51:42 27 4
gpt4 key购买 nike

我想从第 3 方应用程序的驱动程序中读取文件(在用户空间中运行但在第 3 方应用程序控制下的简单 C absed DLL)

此文件将由单独的 C# 应用程序写入。

我应该使用什么才不会遇到任何问题?

使用 _sopen_s 比 fopen 有什么优势,我知道前者更安全,但它支持的“共享”功能是什么?

我用谷歌搜索了很多次,但没找到。

最佳答案

_sopen_s 是具有共享功能的 open() 的安全版本。它使用无缓冲的 I/O。它适用于文件句柄 (int)。这是微软特有的。 open() 是跨平台的。还有 sopen(),它是共享/访问版本。

fopen 使用缓冲并且没有文件共享。适用于 FILE* 结构。文件共享意味着您允许其他进程访问该文件(或不允许)。例如。当读取共享被拒绝时,另一个进程将不会打开文件进行读取。

所有都可以合法使用。如果您以大块读取文件,则无缓冲 I/O 版本的工作速度更快。

关于c - _sopen_s 和 fopen .. 要使用什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20188284/

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