>>294
mallocで適当な大きさのバッファを確保して、
足りなくなるたびにk倍(普通は二倍)の大きさにreallocする、という手がある。
あるいは、固定長の文字列を要素とするリンクリストを作りながら読みこみ、
読み終わったところで全体を別の場所にコピーする、という方法もある。