关于对话框中用listbox显示txt内容的有关问题

关于对话框中用listbox显示txt内容的问题?
具体函数如下:
C/C++ code
void CReadTxtDlg::OnBnClickedButton1()
{
CFileDialog FileDlg(true, _T("txt"),    NULL,  OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,      
                    "文本文件     (*.TXT)|*.TXT|All Files(*.*)|*.*||");      
if( FileDlg.DoModal() == IDOK ) 
{              
    CString fileName;    
fileName = FileDlg.GetFileName();           
CStdioFile file;             
file.Open(fileName,CFile::modeRead,0);           
CListBox *pList = (CListBox *)GetDlgItem(IDC_EDIT);            
pList->ResetContent();               
CString str;        
while(file.ReadString(str)) 
{                         
    pList->AddString(str);              
}            
file.Close();          }
    // TODO: 在此添加控件通知处理程序代码
}

结果出现的问题是:文件内容要是比较简单读取正常。如果要读取形如内容为:用户ID 测量时间 消息ID 航行状态 转弯速度 对地航向 对地航速 位置精度坐标1 坐标2 坐标
123sdafsdfouwe0fjlv mvluwr092fmdkhfygipsadk文库
280ksad fok
xckvpi=a1@1
的txt文件,而显示出来的结果却是第一行“用户ID 测量时间 消息ID 航行状态 转弯速度 对地航向 对地航速 位置精度坐标1 坐标2 坐标”显示在最后一行,而且所有的空格都不见了。求助高手,到底哪里出了问题,百思不得其解呀~

------解决方案--------------------
你能把你的问题整理一下,清楚的描述一下不?
------解决方案--------------------
引用楼主的发帖:
显示出来的结果却是第一行“用户ID 测量时间 消息ID 航行状态 转弯速度 对地航向 对地航速 位置精度坐标1 坐标2 坐标”显示在最后一行

------解决方案--------------------
CFileDialog要加OFN_NOCHANGEDIR 

不然会自动改变默认路径的。

非常常见的问题。是人都犯这个错