一个输出ASCII字符不正确的程序,请大伙儿指教

一个输出ASCII字符不正确的程序,请大家指教请大家看如下一段程序。其中1可以在命令行窗口输出正确的结果,而

一个输出ASCII字符不正确的程序,请大家指教
请大家看如下一段程序。其中1可以在命令行窗口输出正确的结果,而2则不可以。请问各位大神到底是什么原因造成的?

我直接把整数176转换成字符再输出字符也不行。我用的是XPSP3+VS2005。

谢谢大家。

#include "windows.h"
#include <tchar.h>

#include <iostream>
#include <string>

using namespace std;

void main()
{
char szNum[64];

memset(szNum, '\0', sizeof(szNum));

_stprintf( szNum, _T("%s"),  "°"); ------ (1)

_stprintf( szNum, _T("%c"),  '°'); ------ (2)

cout<<string(szNum)<<endl;
}
[解决办法]
是多字节编码吧  你打出来strlen("°")返回值就知道了
[解决办法]
SetConsoleCP