gpt4 book ai didi

c++ - 可移植的方式(linux 和 Windows)使文件只能由 1 个进程修改,而不能由 C/C++ 中的其他进程修改

转载 作者:太空宇宙 更新时间:2023-11-04 11:07:44 24 4
gpt4 key购买 nike

我正在寻找一种可移植的方式(linux 和 Windows),使文件只能由一个进程修改,而不能由 C/C++ 中的其他进程修改。

完整的要求是我希望保留一个文件只能由 1 个正在运行的进程修改,因为其他进程应该只能读取它。

困难在于此过程使用供应商库,该库将在其生命周期(数十秒)内多次打开/关闭文件。

谢谢

最佳答案

你应该使用“进程间通信”

例如,在 Windows 上,您可以使用以下代码,以确保只有一个进程能够写入此文件。

    int WriteToFile()
{
HANDLE _mutex = CreateMutex(NULL, TRUE, L"__File_Write__");
if(GetLastError() == ERROR_ALREADY_EXISTS)
{
return -1;
}
else
{
//write to file
return 0;
}
}

关于c++ - 可移植的方式(linux 和 Windows)使文件只能由 1 个进程修改,而不能由 C/C++ 中的其他进程修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24504488/

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