C获取一串路径的最后目录,C#获取一串路径的最后一个目录

2021-01-20 14:55:09 字数 2121 阅读 7962

1楼:匿名用户

string path = system.io.path.

getdirectoryname(@"d:\123\game");string dirname = path.split('\\');dirname[dirname.

length - 1]即为最后一个目录名

2楼:polaris北斗

按“\”分隔符拆分字符串,取最后一个,注意根目录的情况"d:\"

3楼:匿名用户

string path = system.io.path.getfilename(@"d:\123\game");

//path = 561,getfilename是最简单的写法;

c++ / c# 怎么从一个路径的string获取最后一个“\”之后的字符...

4楼:空雪梦见

其实windows有一个函数叫pathfindfilename比如lptstr szfullpath = _t("c:\users\desktop\readme.txt");

那么lptstr szfile = pathfindfilename(szfullpath);

调用之后szfile就是 readme.txt 了头文件shlwapi.h,库文件shlwapi.lib多方便。

c#同理

string filename = system.io.path.getfilename("c:\users\desktop\readme.txt");

5楼:匿名用户

问的是怎么调用还是相应成员函数/方法的内部实现?

如果是问调用的话,mfc是调用cstring的成员函数,即reversefind('\\'),根据返回的索引值进行相应判断和处理。

c#是取split后的string数组的最后一个元素(string),注意处理空字符串的问题。

另外,务必注意反斜杠的转义字符表示法。

也就是说问题中的第一个字符串应该这样定义

string folder = "c:\\users\\desktop";

使用char类型的反斜杠时也应表示为'\\'

6楼:匿名用户

!!!用 indexof / lastindexof

反向搜索也许,getcharat(int index) 之类的,从字符串长度-1位置开始检索,每次索引减一

看这个char是不是 '\\',就能确定位置了

7楼:匿名用户

int p=s.length-1;

while (p>=0 && s[p]!='\') p--;

if (p>-1) path=s.substring(p, s.length-p); // 123\abc

8楼:心狂不在

使用一个while循环从字符串后面往前找找到第一个/,然后记住位置,往后拷贝字符串就好了

c#中如何分割字符串 ,例如将某个带着路径的文件名的字符串分割后只得到最后的文件名。。。

9楼:匿名用户

要是只想分析目录的话可用path类:

string fullfilename = @"c:\mydir\myfile.ext";

string directoryname = path.getdirectoryname(fullfilename );

string filename = path.getfilename(fullfilename);

string filenamewithoutext= path.getfilenamewithoutextension (fullfilename);

要是普通字符串的话用string的split方法:

string.split

10楼:酒瓶里的蚊子

有现成的函数可用:

system.io.path .getfilename( "d:/123/abc/789.exe")

返回值为789.exe

11楼:匿名用户

split('/ ')