// FileEncoding.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <stdio.h>
#include <wchar.h>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
wchar_t linex[100]; FILE * f1; //f1=_wfopen(L"C:\\uni.txt",L"rt+,ccs=UNICODE"); //or UTF-8 //f1= _wfopen(L"C:\\uni.txt",L"rt+,ccs=UTF-8"); int fileOpen=_wfopen_s(&f1,L"C:\\uni.txt",L"rt+,ccs=UTF-8"); //locale loc(""); //wcout.imbue(loc); while (!feof(f1)) {fgetws(linex,100,f1);wcout<<linex; } fclose(f1); return 0;}
也可以使用int fileOpen=fopen_s(&f1, "C:\\uni.txt","rt+,ccs=UTF-8");
uni.txt中的内容是:this is a test
爱死msdn了,在VS2012中使用_wfopen会报错,而_wfopen_s通过,可参考:
http://msdn.microsoft.com/zh-cn/library/z5hh6ee9(v=vs.90).aspx