/******************************************************
說明:產生滿足大小的數據,成功返回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;
}
但是由於速度太快,導致文本內容總是爲最後一次循環產生的內容。
如果有好的鏈接請告訴我。