Changeset 583 in dev for trunk/ab5.0/jenga/include/common


Ignore:
Timestamp:
May 9, 2008, 10:53:49 PM (17 years ago)
Author:
dai_9181
Message:

ReadBinary/WriteBinaryメソッドを実装。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/jenga/include/common/File.h

    r519 r583  
    3535        return result;
    3636    }
     37
     38    bool ReadBinary( Binary &binary )
     39    {
     40        HANDLE hFile = CreateFile( filePath.c_str(), GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
     41        if( hFile == INVALID_HANDLE_VALUE )
     42        {
     43            return false;
     44        }
     45        int size = GetFileSize( hFile, NULL );
     46
     47        char *temp = static_cast<char *>(calloc( size + 1, 1 ));
     48        DWORD dummy;
     49        ReadFile( hFile, temp, size, &dummy, NULL );
     50        CloseHandle(hFile);
     51
     52        binary.Put( temp, size );
     53
     54        return true;
     55    }
     56
     57    bool WriteBinary( const Binary &binary )
     58    {
     59        HANDLE hFile = CreateFile(filePath.c_str(),GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
     60        if(hFile==INVALID_HANDLE_VALUE)
     61        {
     62            return false;
     63        }
     64        DWORD dw;
     65        WriteFile(hFile,binary.GetBuffer(),binary.GetSize(),&dw,NULL);
     66        CloseHandle(hFile);
     67
     68        return true;
     69    }
    3770};
    3871
Note: See TracChangeset for help on using the changeset viewer.