本文整理汇总了C++中CFileBasic::Read方法的典型用法代码示例。如果您正苦于以下问题:C++ CFileBasic::Read方法的具体用法?C++ CFileBasic::Read怎么用?C++ CFileBasic::Read使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFileBasic
的用法示例。
在下文中一共展示了CFileBasic::Read方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: TestLogFileRead
void TestLogFileRead(void)
{
CLogFile* pcLogFile;
CMemoryFile* pcMemoryFile;
CFileBasic cFile;
BOOL bResult;
int iLength;
char sz[200];
filePos iRead;
pcMemoryFile = MemoryFile();
cFile.Init(pcMemoryFile);
cFile.Open(EFM_Write_Create);
cFile.WriteString("The suspense is killing me!");
cFile.Close();
pcLogFile = LogFile(pcMemoryFile);
cFile.Init(pcLogFile);
bResult = cFile.Open(EFM_Read);
AssertTrue(bResult);
pcLogFile->Begin();
bResult = cFile.ReadStringLength(&iLength);
AssertTrue(bResult);
AssertInt(28, iLength);
AssertFalse(cFile.IsEndOfFile());
bResult = cFile.ReadStringChars(sz, iLength);
AssertString("The suspense is killing me!", sz);
AssertTrue(cFile.IsEndOfFile());
memset(sz, 0, 200);
bResult = cFile.Seek(20);
AssertTrue(bResult);
bResult = cFile.ReadStringChars(sz, 8);
AssertString("killing ", sz);
AssertLongLongInt(28, cFile.GetFilePos());
AssertFalse(cFile.IsEndOfFile());
memset(sz, 0, 200);
bResult = cFile.ReadStringChars(sz, 4);
AssertString("me!", sz);
AssertLongLongInt(32, cFile.GetFilePos());
AssertTrue(cFile.IsEndOfFile());
iRead = cFile.Read(sz, 1, 1);
AssertLongLongInt(0, iRead);
AssertLongLongInt(32, cFile.GetFilePos());
AssertTrue(cFile.IsEndOfFile());
AssertLongLongInt(32, cFile.GetFilePos());
AssertTrue(cFile.IsEndOfFile());
bResult = cFile.Close();
AssertTrue(bResult);
cFile.Kill();
}
示例2: TestLogFileCommandsComplex
void TestLogFileCommandsComplex(void)
{
CLogFile* pcLogFile;
CMemoryFile* pcMemoryFile;
CFileBasic cFile;
BOOL bResult;
int iWritten;
char szABC[] = {"ABCDEFGHIJK"};
char sz123[] = {"123"};
char sz4[] = {"4"};
char szExclamation[] = {"!?"};
char szQWE[] = {"_QWE_"};
char szResult[12];
pcMemoryFile = MemoryFile();
pcMemoryFile->Open(EFM_ReadWrite_Create);
pcMemoryFile->Write(szABC, 1, 12);
pcMemoryFile->Close();
pcLogFile = LogFile(pcMemoryFile);
cFile.Init(pcLogFile);
pcLogFile->Begin();
cFile.Open(EFM_ReadWrite_Create);
AssertInt(12, (int)cFile.GetFileLength());
iWritten = (int)cFile.Write(sz123, 1, 3);
AssertInt(3, iWritten);
iWritten = (int)cFile.Write(sz4, 1, 1);
AssertInt(1, iWritten);
cFile.Close();
cFile.Open(EFM_ReadWrite_Create);
cFile.Write(szExclamation, 1, 2);
cFile.Seek(3, EFSO_CURRENT);
cFile.Write(szQWE, 5, 1);
cFile.Close();
cFile.Open(EFM_Read);
AssertInt(12, (int)cFile.GetFileLength());
memset(szResult, 0, 12);
cFile.Read(szResult, 12, 1);
AssertString("!?34E_QWE_K", szResult);
cFile.Close();
bResult = pcLogFile->Commit();
AssertTrue(bResult);
AssertFalse(pcMemoryFile->IsOpen());
AssertInt(12, pcMemoryFile->GetBufferSize());
AssertString("!?34E_QWE_K", (char*)pcMemoryFile->GetBufferPointer());
pcLogFile->Kill();
}
示例3: LoadTGA
BOOL LoadTGA(CImage* pcImage, char* szFilename)
{
static char uTGAcompare[12] = {0,0, 2,0,0,0,0,0,0,0,0,0}; // Uncompressed True Colour TGA Header
//static char cTGAcompare[12] = {0,0,10,0,0,0,0,0,0,0,0,0}; // Compressed True Colour TGA Header
STGAFileHeader tgaheader;
CFileBasic sFile;
//----------------------------------------------------------------------
// open the tga file.
//----------------------------------------------------------------------
sFile.Init(DiskFile(szFilename));
if (!sFile.Open(EFM_Read))
{
sFile.Kill();
return FALSE;
}
//----------------------------------------------------------------------
// read the header
//----------------------------------------------------------------------
if (sFile.Read(&tgaheader, 1, 12) != 12)
{
sFile.Close();
sFile.Kill();
return FALSE;
}
sFile.Close();
sFile.Kill();
//----------------------------------------------------------------------
// check whether the TGA Header matches a compressed one or not
//----------------------------------------------------------------------
if (memcmp(uTGAcompare, &tgaheader, 12) == 0)
{
return LoadUncompressedTrueColourTGA(pcImage, szFilename);
}
/*
else
if (memcmp(cTGAcompare, &tgaheader, 10) == 0)
{
return LoadCompressedTrueColourTGA(pcImage, filename);
}
*/
//----------------------------------------------------------------------
// if no header is matched, this is not a supported TGA format.
//----------------------------------------------------------------------
return FALSE;
}
示例4: TestBufferedFileReadWrite
void TestBufferedFileReadWrite(void)
{
CFileUtil cFileUtil;
CFileBasic cFile;
CTextFile cText;
char sz[20];
cFileUtil.Delete("Test.txt");
cFile.Init(BufferedFile(DiskFile("Test.txt"), 3));
cFile.Open(EFM_ReadWrite_Create);
cFile.Write("abcdefghijklmn", 1, 14);
cFile.Write("op", 1, 2);
cFile.Seek(3);
memset(sz, 0, 20);
cFile.Read(sz, 2, 1);
AssertString("de", sz);
cFile.Read(sz, 2, 1);
AssertString("fg", sz);
cFile.Write("12", 2, 1);
cFile.Read(sz, 2, 1);
AssertString("jk", sz);
cFile.Write("34", 2, 1);
cFile.Read(sz, 2, 1);
AssertString("no", sz);
cFile.Seek(2);
cFile.Write("XY", 2, 1);
cFile.Read(sz, 1, 3);
AssertString("efg", sz);
cFile.Close();
cFile.Kill();
cText.Init();
cText.Read("Test.txt");
AssertString("abXYefg12jk34nop", cText.mcText.Text());
cText.Kill();
cFileUtil.Delete("Test.txt");
}
示例5: TestLogFileCommandsSimple
void TestLogFileCommandsSimple(void)
{
CLogFile* pcLogFile;
CMemoryFile* pcMemoryFile;
CFileBasic cFile;
BOOL bResult;
int iInt;
int iWritten;
int iResult;
int iRead;
pcMemoryFile = MemoryFile();
pcLogFile = LogFile(pcMemoryFile);
cFile.Init(pcLogFile);
pcLogFile->Begin();
bResult = cFile.Open(EFM_ReadWrite_Create);
AssertTrue(bResult);
AssertTrue(cFile.IsOpen());
iInt = 872349342;
iWritten = (int)cFile.Write(&iInt, sizeof(int), 1);
AssertInt(1, iWritten);
AssertInt(0, pcMemoryFile->GetBufferSize());
bResult = cFile.Close();
AssertTrue(bResult);
AssertInt(3, pcLogFile->GetNumCommands());
bResult = cFile.Open(EFM_ReadWrite_Create);
AssertTrue(bResult);
AssertTrue(cFile.IsOpen());
AssertInt(sizeof(int), (int)cFile.GetFileLength());
iRead = (int)cFile.Read(&iResult, sizeof(int), 1);
AssertInt(1, iRead);
AssertInt(iInt, iResult);
bResult = cFile.Close();
AssertTrue(bResult);
AssertInt(5, pcLogFile->GetNumCommands());
bResult = pcLogFile->Commit();
AssertTrue(bResult);
AssertFalse(pcMemoryFile->IsOpen());
AssertInt(sizeof(int), pcMemoryFile->GetBufferSize());
AssertInt(iInt, *((int*)pcMemoryFile->GetBufferPointer()));
pcLogFile->Kill();
}
示例6: LoadUncompressedTrueColourTGA
BOOL LoadUncompressedTrueColourTGA(CImage *pcImage, char *szFilename)
{
STGAImageHeader sTGAImageHeader;
STGAFileHeader sTGAFileHeader; // Used To Store Our File Header
CFileBasic sFile;
int iWidth;
int iHeight;
int iBitsPerPixel;
int iBytesPerPixel;
int iImageSize;
unsigned char* pvMem;
CImage cImageImport;
CImageCopier cCopier;
filePos iRead;
int i;
int iStride;
//----------------------------------------------------------------------
// open the tga file.
//----------------------------------------------------------------------
sFile.Init(DiskFile(szFilename));
if (!sFile.Open(EFM_Read))
{
sFile.Kill();
return FALSE;
}
//----------------------------------------------------------------------
// read the header
//----------------------------------------------------------------------
//Error check please.
memset(&sTGAFileHeader, 0, sizeof(STGAFileHeader));
sFile.Read(&sTGAFileHeader.iIDLength, 1, 1);
sFile.Read(&sTGAFileHeader.iColourMapType, 1, 1);
sFile.Read(&sTGAFileHeader.iImageType, 1, 1);
sFile.Read(&sTGAFileHeader.iFirstEntryIndex, 2, 1);
sFile.Read(&sTGAFileHeader.iColourMapLength, 2, 1);
sFile.Read(&sTGAFileHeader.iColourMapEntrySize, 1, 1);
sFile.Read(&sTGAFileHeader.iOriginX, 2, 1);
sFile.Read(&sTGAFileHeader.iOriginY, 2, 1);
//Error check please.
memset(&sTGAImageHeader, 0, sizeof(STGAImageHeader));
sFile.Read(&sTGAImageHeader.iImageWidth, 2, 1);
sFile.Read(&sTGAImageHeader.iImageHeight, 2, 1);
sFile.Read(&sTGAImageHeader.iPixelDepth, 1, 1);
sFile.Read(&sTGAImageHeader.iPixelDescriptor, 1, 1);
//----------------------------------------------------------------------
// get the TGA dimensions
//----------------------------------------------------------------------
iWidth = (sTGAImageHeader.iImageWidth);
iHeight = (sTGAImageHeader.iImageHeight);
iBitsPerPixel = sTGAImageHeader.iPixelDepth;
//----------------------------------------------------------------------
// Make Sure All Information Is Valid
//----------------------------------------------------------------------
if ((iWidth <= 0) || (iHeight <= 0))
{
sFile.Close();
sFile.Kill();
return FALSE;
}
switch (iBitsPerPixel)
{
case 16:
iBytesPerPixel = 2;
break;
case 24:
iBytesPerPixel = 3;
break;
case 32:
iBytesPerPixel = 4;
break;
default:
sFile.Close();
sFile.Kill();
return FALSE;
}
iBytesPerPixel = (iBitsPerPixel / 8); // Calculate The BYTES Per Pixel
iImageSize = (iBytesPerPixel * iWidth * iHeight); // Calculate Memory Needed To Store Image
iStride = iWidth * iBytesPerPixel;
pvMem = (unsigned char*)malloc(iImageSize);
iRead = sFile.Read(pvMem, iImageSize, 1);
if (iRead != 1)
{
free(pvMem);
sFile.Close();
sFile.Kill();
return FALSE;
}
sFile.Close();
sFile.Kill();
//.........这里部分代码省略.........
示例7: TestBufferedFileRead
void TestBufferedFileRead(void)
{
CFileUtil cFileUtil;
CFileBasic cFile;
CTextFile cText;
char sz[20];
char c;
int iCount;
int i;
char szExpected[20];
cFileUtil.Delete("Test.txt");
cText.Init();
cText.mcText.Append("abcdefghijk");
cText.Write("Test.txt");
cText.Kill();
cFile.Init(BufferedFile(DiskFile("Test.txt"), 3));
cFile.Open(EFM_Read);
for (c = 'a'; c <= 'k'; c++)
{
AssertFalse(cFile.IsEndOfFile());
memset(sz, 0, 20);
iCount = (int)cFile.Read(sz, 1, 1);
AssertChar(c, sz[0]);
AssertChar(0, sz[1]);
AssertInt(1, iCount);
}
AssertTrue(cFile.IsEndOfFile());
cFile.Seek(0);
szExpected[2] = 0;
for (i = 0; i < 5; i++)
{
AssertFalse(cFile.IsEndOfFile());
memset(sz, 0, 20);
iCount = (int)cFile.Read(sz, 1, 2);
szExpected[0] = 'a' + (char)i * 2;
szExpected[1] = 'b' + (char)i * 2;
AssertString(szExpected, sz);
AssertInt(2, iCount);
}
AssertFalse(cFile.IsEndOfFile());
memset(sz, 0, 20);
iCount = (int)cFile.Read(sz, 1, 2);
AssertString("k", sz);
AssertInt(1, iCount);
AssertTrue(cFile.IsEndOfFile());
cFile.Seek(0);
szExpected[3] = 0;
for (i = 0; i < 3; i++)
{
AssertFalse(cFile.IsEndOfFile());
memset(sz, 0, 20);
iCount = (int)cFile.Read(sz, 1, 3);
szExpected[0] = 'a' + (char)i * 3;
szExpected[1] = 'b' + (char)i * 3;
szExpected[2] = 'c' + (char)i * 3;
AssertString(szExpected, sz);
AssertInt(3, iCount);
}
AssertFalse(cFile.IsEndOfFile());
memset(sz, 0, 20);
iCount = (int)cFile.Read(sz, 1, 3);
AssertString("jk", sz);
AssertInt(2, iCount);
AssertTrue(cFile.IsEndOfFile());
cFile.Kill();
cFileUtil.Delete("Test.txt");
}