Are the columns filled all the way to the end, or can you have have blank spots? If everything is filled then it sounds easy. Sorry I haven't looked at istream iterators, I use loops.