c++dll int Funs(char* a){ string s = "23454624,5523465,256347354,25637256237,516662562"; memcpy(a,s.c_str(),strlen(s.c_str() )); return 0;} c#调用[DllImport("ts.dll")] public static extern string Funs(StringBuilder a); c#main() StringBuilder strRet = new StringBuilder("",1000); ReadSectorInfo(strRet); Console.WriteLine(strRet); 输出结果应该为最后一个字应该为2,为什么多了一位不相干的字母字符?
比如我想将string s = "23454624,5523465,256347354,25637256237,516662562,256666663,9887866"; 的s字符串输出,可是结果输出为23454624,5523465,256347354,25637256237,516662562,256666663,98878661,最后多了一个“1”,改变这个字符串的长度最后一位也会改变,比如变为“m”等。除了最后一位,前面的都是正确的,这是为什么?