主题:求救!关于打开文件输出到编辑框!
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个字符)?
{
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个字符)?