我遍历一个目录
想在Edit控件中,显示每个目录名,
但是只能显示最后一个
代码如下,大家帮忙改改 :do
{
bLastFile = !ff.FindNextFile();
strPath = ff.GetFilePath();
strPath+=0x0d;
strPath+=0x0a;
TRACE("strPath = %s\n", strPath);
UpdateData(FALSE);
Sleep(500);
m_Edit.LineScroll(m_Edit.GetLineCount(), 0);
}while( !bLastFile);
想在Edit控件中,显示每个目录名,
但是只能显示最后一个
代码如下,大家帮忙改改 :do
{
bLastFile = !ff.FindNextFile();
strPath = ff.GetFilePath();
strPath+=0x0d;
strPath+=0x0a;
TRACE("strPath = %s\n", strPath);
UpdateData(FALSE);
Sleep(500);
m_Edit.LineScroll(m_Edit.GetLineCount(), 0);
}while( !bLastFile);
应该为 strPath += ff.GetFilePath();吧?
每次都是 获取当前文件路径,当然只有最后一个文件喽!
strPaht += ff.GetFilePath();
strPath +=ff.GetFilePath()
这样会由于目录过长导致CString 的缓冲区宜出的我想要的是得到一个目录就在Edit中田加一行
CEdit* pedit=(CEdit*)GetDlgItem(IDC_EDIT);
pedit->SetSel(len,len);
pedit->ReplaceSel(strPath);//试试这个
WIN32_FIND_DATA data;
HANDLE hDirectory = FindFirstFile("C:\\*",&data); if ( hDirectory == INVALID_HANDLE_VALUE) {
//Can't find any file
return;
}
m_strPath = "";//m_strPath is variable of your Edit.
while (FindNextFile(hDirectory,&data)) {
if ( FILE_ATTRIBUTE_DIRECTORY == data.dwFileAttributes) {
m_strPath +=data.cFileName;
m_strPath += "\r\n";
}
}
UpdateData(FALSE);
CEdit要设为MultiLine(看此控件的属性)
不然只能显示一行
你现在虽然赋了多次值,但EDIT每次都是把原来的清除后又重新添加,所以总是剩下最后一个。