string型に格納されたバイナリデータをchar型配列にコピーするには

char hoge[10];
std::string bindata;
bindata.copy(hoge,sizeof(hoge));

のように、copyを使う。

memcpy(hoge,bindata.c_str(),sizeof(hoge));

上記のようにmemcpyを使ってしまうと、バイナリにヌル文字が含まれていたときの挙動が怪しいので避ける。テストプログラムではいちおうコピーされているみたいだが。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です