win32 で古い学校の mmorpg をプログラミングしています (非常に古いマシンで実行されるはずです)。ASCII または Unicode (まれに) のファイルを読み取り、その行数をカウントしたいと考えています。これらのマシンのメモリは非常に少ないため、RAM に一度に 4KB 以上を保持することはできません。
何か案は?ありがとう
win32 で古い学校の mmorpg をプログラミングしています (非常に古いマシンで実行されるはずです)。ASCII または Unicode (まれに) のファイルを読み取り、その行数をカウントしたいと考えています。これらのマシンのメモリは非常に少ないため、RAM に一度に 4KB 以上を保持することはできません。
何か案は?ありがとう
一度に小さなチャンクでファイルを読み取ります。たとえば、メモリ バジェットのサイズの 1/10 です。各チャンクの行末を数えます。
直面する唯一の問題は、あるチャンクの終わりから次のチャンクの始まりまでの cr+lf ペアを処理する必要があることです。
余談ですが、確かに 4KB ではなく 4MB のことですか?
少し違うものを提案するだけです...
type foo.txt|find /C /V "~`!@#$%^&*()_+"
または本当に次のことだと思います...しばらく経ちました
find /C /V "" foo.txt