www.pudn.com > w_ipp-sample-media_p_5.0.017.zip > simple_file.cpp
/*////////////////////////////////////////////////////////////////////////////// // // INTEL CORPORATION PROPRIETARY INFORMATION // This software is supplied under the terms of a license agreement or // nondisclosure agreement with Intel Corporation and may not be copied // or disclosed except in accordance with the terms of that agreement. // Copyright(c) 2004-2005 Intel Corporation. All Rights Reserved. // */ #include#include #include "simple_file.h" SimpleFile::SimpleFile() { m_is_first_time = 1; m_file_handle = NULL; } SimpleFile::~SimpleFile() { } int SimpleFile::Open(vm_char* p_filename, unsigned int mode) { FILE* p_file = NULL; if (mode & AFM_CREATE) { p_file = vm_file_open(p_filename, __VM_STRING("wb")); } else { p_file = vm_file_open(p_filename, __VM_STRING("rb")); } if (p_file == NULL) { return -1; } m_file_handle = p_file; return 0; } int SimpleFile::Read(void * p_data, size_t size) { size_t n; if (m_file_handle == NULL) { return -1; } n = fread(p_data,1,size,(FILE*)m_file_handle); return n; } int SimpleFile::Write(void * p_data, size_t size) { size_t n; if (m_file_handle == NULL) { return -1; } n = fwrite(p_data,1,size,(FILE*)m_file_handle); return n; } int SimpleFile::Close() { if (m_file_handle == NULL) { return -1; } fclose((FILE*)m_file_handle); return 0; }