QT 創建給定大小的文本

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

如果有好的鏈接請告訴我。


發佈了48 篇原創文章 · 獲贊 12 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章