std::vector は連続しているため、出力配列を期待する C API に std::vector を渡すことは C++ で明確に定義されています。
std::vector<char> myArray(arraySize);
cStyleAPI(&myArray[0], arraySize);
同じ方法で std::string を C API に渡しても安全ですか? std::string が連続しており、この状況で std::vector と同じように機能するという標準 C++03 の保証はありますか?