怎么获得文件的路径?

实达诚实 2009-02-18 01:09:54
我已经获得文件的全路径名称存放在一个CString里面,如:“D:\Downloads\text.txt”,

我现在想获得“D:\Downloads”?该怎么操作。
...全文
94 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
实达诚实 2009-02-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 laocpp 的回复:]
Windows 程序, 参见: http://msdn.microsoft.com/en-us/library/bb773748(VS.85).aspx,
[/Quote]

使用这个没有成功!

这个只能针对char*。

hemdacker 2009-02-18
  • 打赏
  • 举报
回复
*_tcsrchr(tcPath,_T('\\')) = 0;
levelmouse 2009-02-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 arong1234 的回复:]
假如没有\\呢?splitpath才是王道
引用 2 楼 wawawo20 的回复:
我的一个笨办法:
先用str.reversefind('\')找到最后一个'\'的序号,然后用str.Mid函数把目录截取出来!
[/Quote]
UP
glorywu 2009-02-18
  • 打赏
  • 举报
回复
从后往前搜索\,搜到,把后面的一位置为\0
danxuezx 2009-02-18
  • 打赏
  • 举报
回复
楼主试试绝对可以的。我前面把它已经做成一个标准函数了,一时找不到。这个简单的。
danxuezx 2009-02-18
  • 打赏
  • 举报
回复
我是这样做的:
1 调API获得文件的全名存入str1里。
2 调API获得文件的名称(不包含路径)存入str2里。
3 str2 = "\\" + str2;
4 调str1的replace方法,在str1里把str2用("")代替就ok了。
stuarts740 2009-02-18
  • 打赏
  • 举报
回复
楼主的意思是截断字符串?那楼上的方法都可以
arong1234 2009-02-18
  • 打赏
  • 举报
回复
假如没有\\呢?splitpath才是王道
[Quote=引用 2 楼 wawawo20 的回复:]
我的一个笨办法:
先用str.reversefind('\')找到最后一个'\'的序号,然后用str.Mid函数把目录截取出来!
[/Quote]
一条晚起的虫 2009-02-18
  • 打赏
  • 举报
回复
CString str = "D:\\Downloads\\text.txt";
str2 = str.Mid(str.ReverseFind("\\"));
lwx300 2009-02-18
  • 打赏
  • 举报
回复
int nLastBackslash = strPath.ReverseFind('\\');
CString strParentFolder = (-1 != nLastBackslash) ? strPath.Left(nLastBackslash) : _T("");

wawawo20 2009-02-18
  • 打赏
  • 举报
回复
我的一个笨办法:
先用str.reversefind('\')找到最后一个'\'的序号,然后用str.Mid函数把目录截取出来!
laocpp 2009-02-18
  • 打赏
  • 举报
回复
Windows 程序, 参见: http://msdn.microsoft.com/en-us/library/bb773748(VS.85).aspx, 不然, 考虑使用 _splitpath(...) 函数.
yc_8301 2009-02-18
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 hemdacker 的回复:]
*_tcsrchr(tcPath,_T('\\')) = 0;
[/Quote]
顶这个!!

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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