解决方法有2个
1.第一个使用vs2005默认的unicode set并在所有字符串外面面加上_T() 或者_TEXT宏,代价是原来所有不符合unicode规范的地方你都必须得改.
2.使用not set 或者"mutibyte set" 并在程序初始化的时候调用setlocale()如下
BOOL CtestiostreamApp::InitInstance()
{
setlocale(LC_ALL,"Chinese-simplified");
CWinApp::InitInstance();
std::ifstream iput;
iput.open("F://中文.txt");
ASSERT(!iput.fail());
return FALSE;
}