2017-10-31 1 views
-1

現在、私は私のループのリセット毎回の後メモリの無駄を省くことなく、ファイルの先頭から読み込みます。

name_file.close(); 
name_file.clear(); 
name_file.open(fname.c_str()); 

ています。

しかし、それはメモリを浪費しています。

+0

なぜ測定して見つからないのですか? – Rakete1111

+1

[MCVE]を入力してください。あなたのファイルは何ですか?あなたのプログラムは何をしていますか?あなたのファイルがどれくらい大きくなると思いますか(数百行、または1ペタバイト)?なぜあなたは記憶を浪費するのが大事なのですか?多くのプログラムは入力ファイルを読み込んで解析し、何らかの形でメモリに格納しているので、なぜあなたは気にしませんか? –

+0

実際に特定の質問をする必要があります。最小限の検証可能なコード例を含めることも役立ちます。 'name_file'とは何ですか? – MrJLP

答えて

3

はい、リソースを無駄にしています。 コードは機能しますが、はるかに優れている可能性があります。 単にこれは、ファイルのbegginingから読み取ることができるようになる

name_file.seekg(0); 

を使用しています。 ファイルの詳細については、これをお読みください:http://www.cplusplus.com/doc/tutorial/files/

+1

OPが最初から書き直す必要がある場合は、 'seekp(0)'を忘れないでください。 –

関連する問題