我正在從OS文件系統或從我自己的檔案格式在我的遊戲引擎中寫入類到r/w文件。我怎麼可能不可能通過std::fopen()
或std::fstream
在"rw"
和"r"
模式下打開文件。我已經編寫了一些代碼在Linux上進行測試。這是它:防止在「rw」和「r」同時打開文件
#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
代碼終止。
對不起,我的英文。 :)
退房這樣的回答:http://stackoverflow.com/a/839897/19746 – Piskvor
[使用性病的可能重複:fstream的如何拒絕訪問(讀取和寫入)文件](http://stackoverflow.com/questions/839856/using-stdfstream-how-to-deny-access-read-and-write-to-the-file) –