防止打开文件" rw"和" r"同时

时间:2015-12-20 12:51:03

标签: linux windows macos c++11

我在我的游戏引擎中将类写入来自OS文件系统的r / w文件或我自己的档案格式。如何在模式std::fopen()std::fstream"rw""r"无法打开文件。我已经编写了一些代码来测试Linux上的代码。在这里:

#include <fstream>
#include <iostream>
using namespace std;


int main()
{
    fstream in("file.txt", ios::in | ios::out);

    if(!in.is_open())
    {
        cout << "Plik nie może być otwarty w trybie rw" << endl;
        return 1;
    }

    cout << "Plik otwarty w trybie rw" << endl;
    in << ".test.";
    cout << "Wpisano tekst" << endl;

    while(1){}

    return 0;
}

/* Drugi plik */
/* The second src code */


#include <fstream>
#include <iostream>
using namespace std;


int main()
{
    fstream in("file.txt", ios::in);

    if(!in.is_open())
    {
        cout << "Plik nie może być otwarty w trybie r" << endl;
        return 1;
    }

    cout << "Plik otwarty w trybie r" << endl;
    cout << in << endl;

    return 0;
}

当我执行./rw程序和./r的某些实例时,./rw已进入无限循环,./r的实例已终止0代码。

抱歉我的英文。 :)

1 个答案:

答案 0 :(得分:1)

你应该&#34;锁定&#34;该文件使用<!DOCTYPE html> <html> <head> <title><?php echo $title;?></title> </head> http://man7.org/linux/man-pages/man3/lockf.3.html