当前位置: 技术问答>linux和unix
Linux下的一个程序如何改写成vc++6.0的呢
来源: 互联网 发布时间:2016-11-04
本文导语: class FileLock { public: FileLock(); ~FileLock(); public: void Open(const string& fileName); void Close(); void LockShared(); void LockExclusive(); void Unlock(); off_t GetSize(); protected: int m_fd; stri...
class FileLock {
public:
FileLock();
~FileLock();
public:
void Open(const string& fileName);
void Close();
void LockShared();
void LockExclusive();
void Unlock();
off_t GetSize();
protected:
int m_fd;
string m_fileName;
};
FileLock::FileLock() :
m_fd(-1)
{
}
FileLock::~FileLock() {
if (m_fd) {
close(m_fd);
}
}
void FileLock::Open(const string& fileName) {
if (m_fd) close(m_fd);
m_fd = open(fileName.c_str(), O_RDWR | O_CREAT, 0666);
if (m_fd 0)) {
MakeDirs(fileName.substr(0, p));
m_fd = open(fileName.c_str(), O_RDWR | O_CREAT, 0666);
if (m_fd