ファイル転送アプリケーションがあり、QDataStream を使用して、QTCPSocket から読み取ったデータをファイルに書き込みます。これを書いたとき、QDataStream は固定サイズのままだと思っていましたが、ソケットから読み取ってファイルにデータをストリーミングすると、アプリケーションのメモリが着実に増加するようです。各チャンクを含むファイルであるため、すべてをRAMに保持する必要はありません。
//code a little something like this
QTCPSocket socket; //connected elsewhere
QFile f(fileName);
QDataStream ds(&f);
while(reading)
{
socket.readRawData(data);
ds.writeRawData(data);
}
メモリが着実に増加しないように、ファイルに書き込む方法を知っている人はいますか?