>>38
> おっと、こうするとstrに4TBとか入れられてプログラムが落ちるから

どんなに大きな入力がきても、
str.max_size() まで読み出すか、
最悪 bad_alloc が飛んでくるだけだよ。
それで困るんなら setw(100) とか挟んどけ。