/******************************************************
说明:产生满足大小的数据,成功返回true,失败返回flase
输入:文件名、文件大小
***********************************************************/
bool CreatFile(const char* fileName, unsigned long fileLength);
CreatFile(const char* fileName, unsigned long fileLength)
{
FILE *pFile = fopen(fileName, "wb+");
if (pFile == NULL)
{
return false;
}
fseek(pFile, fileLength - 1, SEEK_SET);
fputc(EOF, pFile);
fclose(pFile);
return true;
}
以上代码产生的文本内并没有内容,只是通过移动指针给定长度达到文本的大小。
如果要加入内容可以如下:
CreatFile(const char* fileName, unsigned long fileLength)
{
QFile file(fileName);
if (file.open(QFile::WriteOnly | QIODevice::Truncate))
{
QTextStream out(&file);
for (unsigned long i = 0; i < fileLength; i++)
{
srand((unsigned)time(NULL));
int random = rand() % 10;
out << random;
}
}
file.close();
return true;
}
但是由于速度太快,导致文本内容总是为最后一次循环产生的内容。
如果有好的链接请告诉我。