対象のファイルの内容を、「スペース(連続しているスペースも含める)、
改行、タブ」ごとに区切って表示するプログラムが課題になりました。
連続したスペースなどを別々に評価するプログラムはすぐできました。
つまり、対象のファイルを
line1word1_line1word2
line2word1__line2word2
とすると(_はスペースとする)、正しくは
1:line1word1 2:line1word2 3:line2word1 4:line2word2
となるべきところが、
1:line1word1 2:line1word2 3:line2word1 4: 5:line2word2
となるプログラムです。そこで、これを修正すべく、文字列を
1文字ずつ評価する際に、一つ前の文字がスペース等であったかどうかを
記憶する変数を用いて、>>30のようにしたのですが、もっとスマートに
表現する方法はないものでしょうか?

なお、省スペースのため、コマンドライン引数の数のチェックや、
ファイルオープンエラーなどは省略しております。
filednumber→区切り番号
check→前の文字がスペース等であったかのチェック。デフォルトで0