It seems better to me that gets solves those problems. Usually you *want* complete lines when you use gets - otherwise you'd use read or something similar; writing your own line splitter isn't particularly hard.
A common application is a side process log parser. Getting incomplete lines are useless.