c++ 与c#之间的字符串传递

1.方法中不要直接返回字符串,防止内存崩溃。

c++写法:

void necall(char* str1, char* outdata) {
    strcpy(outdata, str1);
}

outdata 为导出数

 

c#写法:

    [DllImport("testdemo")]
    private static extern void necall(string a,StringBuilder b);

    StringBuilder b = new StringBuilder();

   necall("测试中",  b);

 

c++的字符串导出需要用char*

std::string 转char*

    const char* output1 = str.data();
    strcpy(outdata, output1);

 

你可能感兴趣的:(c#,c++)