printf函数配合%s占位符输出字符串类结果是乱码。
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
string name = "uzi";
printf("name=%s\r\n", name);
system("pause");
return 0;
}
输出结果:
解决方法:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
string name = "uzi";
/*printf("name=%s\r\n", name);*/
printf("name=%s;\r\n", (name).c_str());
system("pause");
return 0;
}
验证结果:
原理是啥?有知道的的麻烦评论区告知下😀~