writestring(&buffer[0], buffer.size())
100文字のスペースがあるstd::vectorバッファがあり、バッファにすでにデータがある場合は、読んだもののようにNULLで終了する文字列を書き込むC関数を呼び出す場合は問題ありません。ただし、ベクトルが空の場合、動作は定義されていません。これを回避するにはどうすればよいですか。「qwerty」のようなものをバッファに書き込んでから、writestring()を呼び出して、動作が常に定義されていることを確認できますか?C関数を呼び出すときにどのようなストレージを使用しますか?.dataについて読んだばかりですが、それがどれほど一般的で移植性があるのかわかりません。
ありがとう