Cの文字列はヌル文字があるとそこで終わりだけど、
C++のstd::stringは長さを記録しているから、ヌル文字が
途中に来ても大丈夫!

ということはstd::stringはバイナリデータも扱えるんだ! 大発見だね!