A very similar recent question.
http://cboard.cprogramming.com/showthread.php?t=84998