Well one thing you'll find is that a char can NEVER store EOF. As such, you need to change that into an int.

Also, you shouldn't rely on finding a '\t' as a size limit on your array. You could easily read a corrupt data file and have it run off the end of your buffer, because it never actually finds a tab.

Quzah.