我必須創建特定大小的文本文件,用戶輸入大小。我只需要知道如何更快地創建文件。目前創建一個10MB文件大約需要15秒。我必須減少到最大5秒。我怎樣才能做到這一點?目前,這就是我想提出我的文件如何創建特定大小的文本文件C++
void create_file()
{
int size;
cout<<"Enter size of File in MB's : ";
cin>>file_size;
size = 1024*1024*file_size; // 1MB = 1024 * 1024 bytes
ofstream pFILE("my_file.txt", ios::out);
for(int i=0; i<size; i++) //outputting spces to create file
pFILE<<' ';
pFILE.close();
}
更新,這是我現在使用的是什麼,但我得到寫入文件以及垃圾的價值,
void f_c()
{
int i, size;
cin>>size;
FILE * new_file = fopen("FILE TEST.txt", "w");
char buffer[1024];
memset(buffer,' ', 1024);
for(i = 0; i<1024 * size; i++)
fputs(buffer, new_file);
getchar();
}
這相當低效。 – Domi
我認爲提交者希望最初用空格填充文件,而不是僅創建該文件。更新了答案以澄清這一點。 – fpw
我沒有看到重複的問題,但是當我使用這些方法,使用大小爲1024的緩衝區並使用fputs將其寫入文件時,文件的創建速度更快,但是我也將這個愚蠢的字符串寫入文件「Íýýýý««隨着空間的增加,«««««îþîþ「我應該如何刪除它? – chaudrhy