缓冲区经过GetDlgItemText函数好的数据变化
											
程序代码://读文件数据
//DpathFile为要保存的文件的全文件路径名
void readData(HWND hwnd, char *DpathFile)
{
    char szFile[MAX_PATH];
    //第一种情况
    //初始化str
    char str[1024];
//    ZeroMemory(str,sizeof(str));
       char sz[256];
    char *lpFp;
    //获取源文件全路径
    GetDlgItemText(hwnd, IDC_PATHFILE,szFile,sizeof(szFile)/sizeof(char));
    ShowError(str);
    [local]1[/local]
       //lpFp = strrchr(szFile, '\\');//获取文件名
    int LineNum = GetLineCount(szFile);//文件中的行数
    int icount=0;
    //发送消息给进程条
    SendDlgItemMessage(hwnd, IDC_PROGRESS, PBM_SETRANGE, 0, MAKELPARAM(0,LineNum));
    ShowError(str);
    //打开文件读操作
    //第二种情况初始化str
    //char str[1024];
    HANDLE hFileread;
    DWORD dwRead;
    DWORD dwWrite;
    hFileread = CreateFile(szFile,GENERIC_READ,0, 0,
        OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, 0);
    if (hFileread == INVALID_HANDLE_VALUE)
    {
    MessageBox(NULL, TEXT("CreateFile  to read error!"),TEXT("error"), MB_OK);
    }
   
    //创建新的文件写
    HANDLE hFile;
    hFile = CreateFile(DpathFile,GENERIC_WRITE,0, NULL,
        CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL, NULL);
    if (hFile == INVALID_HANDLE_VALUE)
    {
    MessageBox(NULL, TEXT("CreateFile to write error!"),TEXT("error"), MB_OK);
    return ;
    }
    ShowError(str);
    while(true)
    {
        //初始化缓冲区
        ZeroMemory(str,sizeof(str));
        int    bRet=ReadFile(hFileread,str,1024,&dwRead,NULL);//读取1024字节
      if(bRet==FALSE)
      {
          MessageBox(NULL,"Read Buf ERROR!","Error",MB_OK);
          break;
      }
      else if(dwRead==0)//如果读到的字节数为0标示文件读取完毕
      {
          MessageBox(NULL,"Send file OK!","OK",MB_OK);
          break;
      }
      else
      {
          WriteFile(hFile,str,dwRead,&dwWrite,NULL);//recv()接收到多少就写多少 
      }
       
        SendDlgItemMessage(hwnd, IDC_PROGRESS, PBM_SETPOS, icount, 0);
        wsprintf(sz,"%i", icount);
        SetDlgItemText(hwnd, IDC_PATHFILE, sz);
        icount++;
    }
    CloseHandle(hFileread);
    CloseHandle(hFile);我想问一下为什么我的程序中定义的缓冲区,经过GetDlgItemText函数后会在该缓冲区最后面加上从编辑框得到的数据szFile。



											
	    

	
