>>520 32の値をもう少し大きくして、読み終わった後に必要分だけreallocするのがベターかも。
http://ideone.com/8tneo