隨機(jī)生成二進(jìn)制文件析藕,讀取文件并寫入數(shù)組中,返回bit流
讀取文件生成數(shù)組
unsigned char* FileConvert::FileToByte(char filename[], unsigned long* size)
{
p = fopen(filename, "rb");
*size = GetFileSize(p);
dst = new unsigned char[*size];
fread(dst, sizeof(unsigned char), *size, p);
fclose(p);
return dst;
}//讀取文件生成數(shù)組
根據(jù)指定大小生成隨機(jī)數(shù)組
void FileConvert::GenerateRandomArray(unsigned char* src, unsigned long size)
{
srand((unsigned)time(NULL));
for (int i = 0; i < size; i++)
{
src[i] = rand() % 128;
}
}//根據(jù)指定大小生成隨機(jī)數(shù)組
將數(shù)據(jù)寫入文件中
void FileConvert::ByteToFile(unsigned char *src, char filename[], unsigned long size)
{
p = fopen(filename, "wb");
fwrite(src, sizeof(unsigned char), size, p);
fclose(p);
}//將數(shù)據(jù)寫入文件中
生成隨機(jī)文件
void FileConvert::GenerateRandFile(char filename[], unsigned long size)
{
unsigned char *tmp = new unsigned char[size];
GenerateRandomArray(tmp, size);
ByteToFile(tmp, filename, size);
}//生成隨機(jī)文件
類
class FileConvert
{
private:
FILE *p;
unsigned char* dst;
unsigned long GetFileSize(FILE* p);
void GenerateRandomArray(unsigned char* src, unsigned long size);
public:
~FileConvert();
unsigned char* FileToByte(char filename[], unsigned long* size);
void ByteToFile(unsigned char *src, char filename[], unsigned long size);
void GenerateRandFile(char filename[], unsigned long size);
};