声明一个足够长的名为fn的char型数组,调用库函数strrchr在含路径的全文件名中找到文件名前的'\',将其后的文件名拷贝到fn中即可。举例代码如下:
//#include "stdafxh"//If the vc++60, with this line#include "stdioh"
#include "stringh"
int main(void){
char fn[30],p;
char pathname[80]="e:\\1\\2\\abcdat";
//上句假设以某种方式获得的全文件名在pathname中,""中只是举例
strcpy(fn,(p=strrchr(pathname,'\\')) p+1 : pathname);
//上句函数第2实参这样写以防止文件在当前目录下时因p=NULL而出错
printf("%s\n",fn);//打出来看看
return 0;
}
这道题主要就是利用了String类的split()方法,进行多次调用,已经帮你实现了,代码如下:
public class Test{
public static void main(String[] args){
String str = "c:/win/good/aaatxt;d:/win/good/bbbtxt;c:/win/cccctxt;";
//得到路径数组
String[] fileRoot = strsplit(";");
String[] fileName = null;
for(int i = 0;i < fileRootlength;i++){
if(fileRoot[i] != null){
fileName = fileRoot[i]split("/");
//得到最终需要的文件名
Systemoutprintln (fileName[fileNamelength-1]);
}
}
}
}
使用DOS命令中的dir就可以生成这样的文本文件。下面介绍具体 *** 作方法。
1以Windows
XP *** 作系统为例,单击“开始|运行”,输入cmd,如图1所示,然后单击“确定”。
图1
开始cmd命令
3在命令提示符窗口中输入以下命令,如图2所示。
dir
d:
>c:filelisttxt
图2
用此命令生成列表文件
这样就在C:盘根目录下生成了一个名为“filelisttxt”的文本文件,该文件中即包含D:盘的文件夹列表。
如果希望将D:盘中子目录中的文件和文件夹列表也全部列出来,可以在命令提示符窗口中输入以下命令。
dir
d:
/s
>c:filelisttxt
如果使用下面的命令,即加一个/b,则会生成一个简单的文件名列表,不包括其它信息,这种方法可能更加实用一些。
dir
d:
/s
/b
>c:filelisttxt
生成文本文件后,就可以将该文件中的内容拷贝到Excel中以备日后查询,或者将该文件作为一个对象插入到Excel工作表中。这样以后就可以快速找到所需要的文件了。
以上就是关于用C语言如何从路径名中分离文件名全部的内容,包括:用C语言如何从路径名中分离文件名、java代码实现从路径字符串中获取文件名称、如何用CMD提取一个文件路径的文件名并赋值 高分送上等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)