在一列表框上显示存在test.txt中的路径名,程序没错误,是不能在列表框上显示出来,并且提示在访问test.txt时发生了一个不明的错误!
void CQqDlg::OnBtn1()
{
// TODO: Add your control notification handler code here
CStdioFile file;
file.Open(_T("test.txt"),CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite);
CString s,y;
CString strFilter="打开文件(*.txt)|*.txt||";
static CFileDialog fdlg(TRUE,NULL,NULL,OFN_ALLOWMULTISELECT|OFN_HIDEREADONLY,strFilter);
POSITION pst=fdlg.GetStartPosition();
if(fdlg.DoModal()==IDOK)
{
while(pst!=NULL)
{
s=fdlg.GetNextPathName(pst);
file.WriteString(s);
}
while(file.ReadString(y))
{
m_list.InsertString(-1,y);
}
}
}
void CQqDlg::OnBtn1()
{
// TODO: Add your control notification handler code here
CStdioFile file;
file.Open(_T("test.txt"),CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite);
CString s,y;
CString strFilter="打开文件(*.txt)|*.txt||";
static CFileDialog fdlg(TRUE,NULL,NULL,OFN_ALLOWMULTISELECT|OFN_HIDEREADONLY,strFilter);
POSITION pst=fdlg.GetStartPosition();
if(fdlg.DoModal()==IDOK)
{
while(pst!=NULL)
{
s=fdlg.GetNextPathName(pst);
file.WriteString(s);
}
while(file.ReadString(y))
{
m_list.InsertString(-1,y);
}
}
}
{
m_list.InsertString(-1,y);
}
前面加上
file.SeekToBegin()
在WriteString写入一个文件名之后就应该写入一个换行符号
CStdioFile的ReadString默认遇到换行符停止
{
s=fdlg.GetNextPathName(pst);
s+=_T("\n");
file.WriteString(s);}
你自己试试吧,我没有测试过上面的代码