Linux マシンで c++ の fopen、fwrite、fflush、fclose 関数を使用して約 4 GB のファイルを作成しようとしましたが、fclose() 関数がファイルを閉じるのに非常に長い時間がかかり、約 (40 ~ 50 秒) かかることがわかりました。この遅さの理由を見つけるために別のフォーラムをチェックし、フォーラムで提案されているようにコードを変更しました。それでも問題を解決できませんでした。
totalBytes = 4294967296 // 4GB file
buffersize = 2000;
while ( size <= totalBytes )
{
len = fwrite(buffer, 1, bufferSize, fp);
if ( len != bufferSize ) {
cout<<"ERROR (Internal): in calling ACE_OS::fwrite() "<<endl;
ret = -1;
}
size = size + len;
}
...
...
...
fflush(fp);
flcose(fp);
上記の問題に対する解決策は非常に役立ちます。
ありがとう、ラメッシュ