c++中,有时需要调用c语言函数,要把char*转换成stl的string,但使用过程,就出现问题。比如下面代码,就会导致程序coredump。不同的版本,可能结果不同。xcode9.x和vs2005所使用的编译器的都出现这个问题。
#include <string>
using namespace std;
const char* get_cstr(void)
{
return 0;
}
int main(int argc, const char * argv[])
{
cout<<string( get_cstr() )<<endl;
return 0;
}
本文探讨了在C++中调用C语言函数时,将char*转换为STL string过程中遇到的问题,并通过一个具体示例展示了可能导致程序崩溃的情况。
963

被折叠的 条评论
为什么被折叠?



