MFC: Reading entire file to buffer...
- by deostroll
I've meddled with some code but I am unable to read the entire file properly...a lot of junk gets appended to the output. How do I fix this?
// wmfParser.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "wmfParser.h"
#include <cstring>
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// The one and only application object
CWinApp theApp;
using namespace std;
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
_tprintf(_T("Fatal Error: MFC initialization failed\n"));
nRetCode = 1;
}
else
{
// TODO: code your application's behavior here.
CFile file;
CFileException exp;
if( !file.Open( _T("c:\\sample.txt"), CFile::modeRead, &exp ) ){
exp.ReportError();
cout<<'\n';
cout<<"Aborting...";
system("pause");
return 0;
}
ULONGLONG dwLength = file.GetLength();
cout<<"Length of file to read = " << dwLength << '\n';
/*
BYTE* buffer;
buffer=(BYTE*)calloc(dwLength, sizeof(BYTE));
file.Read(buffer, 25);
char* str = (char*)buffer;
cout<<"length of string : " << strlen(str) << '\n';
cout<<"string from file: " << str << '\n';
*/
char str[100];
file.Read(str, sizeof(str));
cout << "Data : " << str <<'\n';
file.Close();
cout<<"File was closed\n";
//AfxMessageBox(_T("This is a test message box"));
system("pause");
}
return nRetCode;
}