if(GetOpenFileName(&openfilename))
{
  void *sText=NULL,*str=NULL;
  HANDLE fp=NULL;
    //fp=fopen("D:\\a.txt","r");//
  fp=CreateFile(openfilename.lpstrFile,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ,NULL,OPEN_ALWAYS,NULL,NULL);
  if(fp){
    DWORD hae=GetFileSize(fp,0);
    SetFilePointer(fp,0,0,FILE_BEGIN);
    sText=calloc(hae,sizeof(char));
    str=calloc(hae,sizeof(wchar_t));
    ZeroMemory(sText,hae);
    ZeroMemory(str,hae);
    ReadFile(fp,sText,hae,&hae,NULL);
    MultiByteToWideChar(CP_ACP,MB_COMPOSITE,(LPCSTR)sText,-1,(LPWSTR)str,hae);
    //fread(now,sizeof(WCHAR),100,fp);
    SendMessage(hWnd,EM_REPLACESEL,0,(LPARAM)str);
    //fclose(fp);
    CloseHandle(fp);
    free(sText);
    free(str);
  }

为什么输出文本框后,在字符串结尾处会有7个问号+一个空格(多出8个字符)!