08/01/21 22:20:19
おお、ほんとだ。
こんな単純なミスをするとはww
ファイルのサイズがBUFSIZの倍数になってたから
正常に動いてるように見えてたみたい
>>236
書き方は rdbuf() が一番簡単ですね。
さっきのコードで
fout << rdbuf();
と
char buf[BUFSIZ];
fin.read( buf, BUFSIZ );
int n = fin.gcount();
fout.write( buf, n );
でやってみましたが(他の部分は同じ)、
rdbuf=1.375
read_write=0.406
で、速度を気にする場合は read(), write() のほうが早いようです。
簡潔に書きたいときは
rdbuf()
速度が重要な時は
read(), write()
を使う方向でいこうと思います。