随机生成二进制文件,读取文件并写入数组中,返回bit流
读取文件生成数组
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;
}//读取文件生成数组
根据指定大小生成随机数组
void FileConvert::GenerateRandomArray(unsigned char* src, unsigned long size)
{
srand((unsigned)time(NULL));
for (int i = 0; i < size; i++)
{
src[i] = rand() % 128;
}
}//根据指定大小生成随机数组
将数据写入文件中
void FileConvert::ByteToFile(unsigned char *src, char filename[], unsigned long size)
{
p = fopen(filename, "wb");
fwrite(src, sizeof(unsigned char), size, p);
fclose(p);
}//将数据写入文件中
生成随机文件
void FileConvert::GenerateRandFile(char filename[], unsigned long size)
{
unsigned char *tmp = new unsigned char[size];
GenerateRandomArray(tmp, size);
ByteToFile(tmp, filename, size);
}//生成随机文件
类
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);
};