给一个文件夹路径,如何得到上一层目录

stuwei 2002-08-27 08:11:55
给一个文件夹路径,如何得到上一层目录
...全文
505 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
耙子 2002-08-28
  • 打赏
  • 举报
回复
他不就是要父目录吗?
kingcaiyao 2002-08-27
  • 打赏
  • 举报
回复
To pazee:
贴主要求是逐层分开路径,你这样只能得到整个路径,还是需要解析.
耙子 2002-08-27
  • 打赏
  • 举报
回复
有个投机取巧的办法。

用 ExtractFilePath

他的本意是分开文件名字和路径的
但是如果你的路径没有使用 “\”结尾,用他最方便了

比如
ExtractFilePath("c:\\download\\win2k\\patch");
返回的就是 c:\download\win2k\

如果你的是按照\结尾的,那么去掉他就好了
guolinchao 2002-08-27
  • 打赏
  • 举报
回复
同意楼上的!
kingcaiyao 2002-08-27
  • 打赏
  • 举报
回复
对字符串的解析,给你写一个小程序片段:
.h File
#include <vector>
.cpp File
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString S="c:\\ttmis\\ttmis\\ttmis.ini";
以"\"为Separator进行解析.
std::vector<int>SP;
for(int i=1;i<=S.Length();i++)
{
if(S.SubString(i,1)=="\\")
{
SP.push_back(i);
}
}
int m_Count=SP.size();
//通过一个循环取出盘符和路径
for(int k=0;k<m_Count;k++)
{
if(!k or k==0)
{
Memo1->Lines->Add(S.SubString(1,SP[k]-1);//第一个是盘符
}
else
{
Memo1->Lines->Add(S.SubString(SP[k-1]+1,SP[k]-SP[k-1]-1);
}
}
}
....

nibani 2002-08-27
  • 打赏
  • 举报
回复
在字符串中查找"//"就可以了.
"//"之前的就是上一级目录.
szbug 2002-08-27
  • 打赏
  • 举报
回复
自己截取吧。。。

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧