23,124
社区成员
发帖
与我相关
我的任务
分享
/************************************************
* test.cpp
************************************************/
#include "./FileClass.h"
#include "../type.h"
#include <unistd.h>
#include <sys/sysinfo.h>
#include <sys/types.h>
#define FWRITE_BUFFER_LENGTH 400*1024
int main(void)
{
CFile cInFile;
CFile cOutFile;
char* bfTemp = new char[400000];
char* bfFwrite = new char[FWRITE_BUFFER_LENGTH];
unsigned int uiFileLength=0;
unsigned int uiReadFileLength=0;
unsigned int uiOutFileIndex=1;
char szOutFileName[MAX_FILENAME_LENGTH];
struct sysinfo MySysinfo;
int iRet;
cInFile.SetFullFileName("./In.jpg");
cInFile.Open(BINARY_RWTYPE,POS_START);
uiFileLength = cInFile.GetFileLength();
uiFileLength = 314890;
iRet = cInFile.Read(bfTemp, uiFileLength, uiReadFileLength);
if(iRet==0 && uiFileLength==uiReadFileLength)
{
printf("== Read input file successfully\n");
}
else
{
printf("== Read input file failed\n== Read() return %d; File length is %d; Read number is %d\n",iRet,uiFileLength,uiReadFileLength);
return -1;
}
while(1)
{
snprintf(szOutFileName,MAX_FILENAME_LENGTH,"/EpData/OutFile%d.jpg",uiOutFileIndex++);
cOutFile.SetFullFileName(szOutFileName);
iRet = cOutFile.Open(BINARY_RWTYPE,POS_START);
//cOutFile.SetFwriteNoBuffer( );
if(iRet < 0)
{
printf("== cOutFile.Open() failed\n");
break;
}
iRet = cOutFile.Write(bfTemp,uiFileLength);
if(iRet < 0)
{
cOutFile.Close();
break;
}
cOutFile.Close();
sysinfo(&MySysinfo);
printf("== Free memory is %ldK\n",MySysinfo.freeram/1024);
sleep(1);
}
delete[] bfTemp;
delete[] bfFwrite;
cInFile.Close();
return 0;
}