void F( std::string &s ){
 size_t size = data_size;
 s.resize( size );
 memmove( s.c_str(), data, size );
}

これって有効な操作?
ようは、渡されたsに対して、新しい文字列を割り当てたいんだけど。