0

win32 で古い学校の mmorpg をプログラミングしています (非常に古いマシンで実行されるはずです)。ASCII または Unicode (まれに) のファイルを読み取り、その行数をカウントしたいと考えています。これらのマシンのメモリは非常に少ないため、RAM に一度に 4KB 以上を保持することはできません。

何か案は?ありがとう

4

2 に答える 2

2

一度に小さなチャンクでファイルを読み取ります。たとえば、メモリ バジェットのサイズの 1/10 です。各チャンクの行末を数えます。

直面する唯一の問題は、あるチャンクの終わりから次のチャンクの始まりまでの cr+lf ペアを処理する必要があることです。

余談ですが、確かに 4KB ではなく 4MB のことですか?

于 2012-04-05T17:55:59.797 に答える
0

少し違うものを提案するだけです...

type foo.txt|find /C /V "~`!@#$%^&*()_+"

または本当に次のことだと思います...しばらく経ちました

find /C /V "" foo.txt
于 2012-04-05T18:06:29.387 に答える