VS中文字符串单个字符输出乱码的问题

在VS2019中编写如下代码段:

string str = "罗小黑.jpeg";
cout << str << endl;
for (int i = 0; i < str.size(); i++) {
	cout << str[i] << endl;
}

会输出如下结果:

罗小黑.jpeg






.
j
p
e
g

第一个cout正常输出,但是后面的cout只要遇到中文字符就显示乱码,很奇怪。。。

一个中文占用2个字符的大小,而你打印是一个一个字符的打印,那自然不能正常出中文打印