Hi
Here is how I did it for an html file that I included as a resource to ensure existence of this file at the startup of the application.
There is a little bit MFC inside ( I'm working only with MFC, sorry ..) but You'll remove it easily
HTH
Thierry
EMail: Thierry.Marneffe@swing.be
// Load the resource into memory
// Note: the resource is identified as follow in the resource file:
//
/////////////////////////////////////////////////////////////////////////////
//
// REPORT_HTML
//
// IDR_REPORT_TEMPLATE REPORT_TEMPLATE DISCARDABLE "res\\report_h.bin"
HINSTANCE hinst = AfxGetInstanceHandle();
HRSRC hRes = FindResource( hinst, (LPCSTR) IDR_REPORT_TEMPLATE, "REPORT_TEMPLATE"

;
if ( hRes == NULL)
{
AfxMessageBox( "Couldn't find Report Template !!! "

;
return FALSE;
}
// Get Size of Resource in Bytes
int nLength = ( int) SizeofResource( hinst, hRes);
// Load the Resource in Global Memory
BYTE* lpRes = ( BYTE*) LoadResource( hinst, hRes);
ASSERT( lpRes);
char* pszBuffer;
// Create a Memory File from Resource Data
CMemFile file( lpRes, nLength);
// Clean Up
FreeResource(( HANDLE) lpRes);
// Allocate Memory to Read Memory File
pszBuffer = ( char*) new char[nLength];
if ( pszBuffer == ( char*) NULL)
{
AfxMessageBox( "Not Enough Memory to Get Report Template !!!"

;
return FALSE;
}
// Read File
file.Read( pszBuffer, nLength);
// Save Memory File to Disk
CFileException e;
CFile fileReportTemplate;
try
{
fileReportTemplate.Open( "ReportTemplate.htm",
CFile::modeCreate | CFile::modeWrite | CFile::shareDenyNone, &e);
}
catch ( CFileException e)
{
AfxMessageBox( "Unable to Create Template " + e.m_cause);
}
// Save Data to File
fileReportTemplate.Write( pszBuffer, nLength);
fileReportTemplate.Close();
// Clean Up
delete [] pszBuffer;
return TRUE;
}