VS2010环境下对UTF8编码的文本文件的读取跟显示

VS2010环境下对UTF8编码的文本文件的读取和显示
由于该文本文件为UTF8,现需要读取该文件,并将内容显示在对话框上面,以方便查看。目前已经将该文件内容读取在内存中并且内容正常,但是显示在界面上有乱码。。。
------解决思路----------------------
仅供参考,尽管是VB6:
Private Declare Function MultiByteToWideChar Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByRef lpMultiByteStr As Any, ByVal cchMultiByte As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long
Private Declare Function WideCharToMultiByte Lib "kernel32" (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpWideCharStr As Long, ByVal cchWideChar As Long, ByRef lpMultiByteStr As Any, ByVal cchMultiByte As Long, ByVal lpDefaultChar As Long, ByVal lpUsedDefaultChar As Long) As Long
'常用的代码页:
const cpUTF8   =65001
const cpGB2312 =  936
const cpGB18030=54936
const cpUTF7   =65000
Function MultiByteToUTF16(UTF8() As Byte, CodePage As Long) As String
    Dim bufSize As Long
    bufSize = MultiByteToWideChar(CodePage, 0&, UTF8(0), UBound(UTF8) + 1, 0, 0)
    MultiByteToUTF16 = Space(bufSize)
    MultiByteToWideChar CodePage, 0&, UTF8(0), UBound(UTF8) + 1, StrPtr(MultiByteToUTF16), bufSize
End Function

Function UTF16ToMultiByte(UTF16 As String, CodePage As Long) As Byte()
    Dim bufSize As Long
    Dim arr() As Byte
    bufSize = WideCharToMultiByte(CodePage, 0&, StrPtr(UTF16), Len(UTF16), 0, 0, 0, 0)
    ReDim arr(bufSize - 1)
    WideCharToMultiByte CodePage, 0&, StrPtr(UTF16), Len(UTF16), arr(0), bufSize, 0, 0
    UTF16ToMultiByte = arr
End Function

Private Sub Command1_Click()
    MsgBox MultiByteToUTF16(UTF16ToMultiByte("ab中,c", cpUTF8), cpUTF8)
End Sub


------解决思路----------------------
如果你的工程是Unicode工程,可以转换为Unicode字符串再显示

CStringW UTF8ToUTF16(LPCSTR szUTF8)
{
DWORD nWszLen = MultiByteToWideChar(CP_UTF8, NULL, szUTF8, -1, NULL, NULL);

CStringW strUTF16;
nWszLen = MultiByteToWideChar(CP_UTF8, NULL, szUTF8, -1, strUTF16.GetBuffer(nWszLen), nWszLen);
strUTF16.ReleaseBuffer();

return strUTF16;
}

------解决思路----------------------
引用:
@zhao4zhong1,@CharlesSimonyi
首先谢谢两位的回答,
但是两位说的都是正确获取以UTF8编码的方式获取UTF8文件后进行的转换吧?但是我这边读取UTF8编码的文件都有问题了...
另外我参考的是http://www.oschina.net/code/snippet_222150_20567,这里面代码说的比较详细,但是我执行的时候还有读取的有乱码..只是乱码少了很多 

fopen时,有没有用ccs指定编码为UTF-8?

fopen("newfile.txt", "rw, ccs=<encoding>");