在vs2005下,
if (dlg.DoModal() == IDOK)
{
POSITION pos = dlg.GetStartPosition();
while (pos != 0)
{
CString s = dlg.GetNextPathName(pos);
}
}
,如果只选择了一个文件,则GetNextPathName会返回 "c:\1.txt "这样的字串,
如果选择了多个文件,则会返回这样的字串: "c:\\1.txt ",这边为什么会有两个斜杠呢?怎么才能把它去掉?
------解决方案--------------------------------------------------------
s.Replace( "\\\\ ", "\\ ");
- -!
------解决方案--------------------------------------------------------
我这里没发现这种现象。把你前面的代码(构造、设置dlg的代码)贴出来看看。
------解决方案--------------------------------------------------------
绝对路径与相对路径?
------解决方案--------------------------------------------------------
好像Windows下的路径表示就是这样的吧
------解决方案--------------------------------------------------------
不是吧,你的strBasePath应该是C:才对,在程序中,路径中的反斜杠要用两个反斜杠表示,而当你跟踪调试时会发现编译器会把双斜杠自动转换为了一个斜杠