⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c_fileio.cpp

📁 sleuthit-2.09 一个磁盘的工具集
💻 CPP
字号:
// Common/C_FileIO.h#include "C_FileIO.h"#include <fcntl.h>#include <unistd.h>namespace NC {namespace NFile {namespace NIO {bool CFileBase::OpenBinary(const char *name, int flags){  #ifdef O_BINARY  flags |= O_BINARY;  #endif  Close();  _handle = ::open(name, flags, 0666);  return _handle != -1;}bool CFileBase::Close(){  if(_handle == -1)    return true;  if (close(_handle) != 0)    return false;  _handle = -1;  return true;}bool CFileBase::GetLength(UInt64 &length) const{  off_t curPos = Seek(0, SEEK_CUR);  off_t lengthTemp = Seek(0, SEEK_END);  Seek(curPos, SEEK_SET);  length = (UInt64)lengthTemp;  return true;}off_t CFileBase::Seek(off_t distanceToMove, int moveMethod) const{  return ::lseek(_handle, distanceToMove, moveMethod);}/////////////////////////// CInFilebool CInFile::Open(const char *name){  return CFileBase::OpenBinary(name, O_RDONLY);}ssize_t CInFile::Read(void *data, size_t size){  return read(_handle, data, size);}/////////////////////////// COutFilebool COutFile::Create(const char *name, bool createAlways){  if (createAlways)  {    Close();    _handle = ::creat(name, 0666);    return _handle != -1;  }  return OpenBinary(name, O_CREAT | O_EXCL | O_WRONLY);}ssize_t COutFile::Write(const void *data, size_t size){  return write(_handle, data, size);}}}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -