後付けで申し訳ありません。
getchar()にて一文字ずつ付け足す方式の回答はできているのですがfgetsが大好きなのでできる限り改変なしで手直しかアドバイスをいただければ幸いです。