这两天写了一个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);