去除string(C++)直接转为char *(C)会有乱码的问题

这两天写了一个C#调用extern “C”的接口,得到的字符串有乱码,现将处理办法总结如下:

1. 用c_str()将_origin(string)转换为_source(char *),如:

const char* _source = _origin.c_str();

2. 新建一个目标_target(char *),如:

char* _target = new char[_origin.length() + 1];

3. 最后用strcpy_s函数或者strcpy函数将_source拷贝到_target,如:

strcpy_s(_target,_origin.length()+1,_source);

 


版权声明:本文为qq_25351795原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。