- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
void File::open(string file, bool readAccess, bool writeAccess, bool append)
{
Close();
(string&)Name=file;
const char* const modes[2][2][2]={{{null, "rb"}, {"wb", "w+b"}}, {{null, null}, {"ab", "a+b"}}};
if(modes[append][writeAccess][readAccess]==null) return InternalError("Создание файла с неверными параметрами!");
handle=fopen(Name.CStr(), modes[append][writeAccess][readAccess]);
if(handle==null) throw NotFoundException(string::Format("Файл <^> не найден!")(file));
}
Скорее всего, этот код вам покажется странным, поэтому я его выкладываю. Хотя я его говнокодом не считаю и он мне даже нравится.