去除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);

 

你可能感兴趣的:(乱码,字符串转换)