代码如下,输出是字符串开头几个字符都变成乱码,且每次都是不一样的乱码,乱码第一个字符是“衰”,但是调试断点显示的值是正常的,不知道是怎么回事?怎么解决?
#include <string>
#include <ostream>
const char* fn1(void)
{
std::string rlt;
rlt.append("340604001640F4CFFA9A5EE84592083A3D1E0FFEA6B2F8CA6A48897EF664C7B8EF4DD7DFF76F6C951B16547");
return rlt.c_str();
}
int main(int argc, char *argv[])
{
std::cout << fn1();
std::cout << "abd";
return 0;
}
实际应用中这个函数是给c#调用的,同样前面几个字符变成乱码,后面正常,高手不啬赐教哦,感谢!