C++은 대부분의 프로젝트에서 유용하지만 때로는 기존 C 스타일 함수와 통합해야합니다.C 기반 구조에서 C++ 통합
어떻게하면 깔끔한 방법으로, 특히 문자열로 작업하는 경우 어떻게 할 수 있습니까?
은 내가 이런 식으로 구성 사용할 수 있습니다 생각했다 :std::string buffer;
buffer.resize(1024);
GetBackCStyleString(&buffer[0], 1024);
을하지만 크기가 조정 된 길이를 반환으로이 문자열의 길이가 문제가 발생합니다. C++ 코드에서 C 함수를 통합하는 더 좋은 방법이 있습니까?
@BenVoigt : 그리고 몇 가지 표준 버그로 인해 C++ 03에서 간접적으로 보장됩니다. :) –
또한,'& buffer [0]'은 const-correctness를 보존하고'const_cast (buffer.c_str())'는 유지하지 않습니다. –
@ 토말 렉, 당신의 코멘트를 설명해 주시겠습니까? C++ 03은 쓰기 가능한 문자열 버퍼를 간접적으로 어떻게 보장합니까? –