根据文件的全路径获取文件简单名称,如:fileFullName="F:a.txt" 则返回a.txt (CC++ 实现) 要考虑文件

根据文件的全路径获取文件简单名称,如:fileFullName="F:a.txt" 则返回a.txt (CC++ 实现) 要考虑文件,第1张

LZ知道CString类中有成员函数GetLength(),和ReverseFind ()以及Right()函数吧!

先调用GetLength得到总字符串的长度,再用ReverseFind函数得到\在字符串中的位置,然后用Right函数获取就行了,具体的实现LZ看看这几个函数的使用方法就知道了(参考MSDN)

void CCounterDlg::OnBnClickedButton2()

{

// TODO: 在此添加控件通知处理程序代码

UpdateData();

if(!m_fileName);//m_fileName为编辑控件关联的一个CString类型的变量

else

{

int i=m_fileNameReverseFind('\\');//对‘\’转义

int j=m_fileNameGetLength();

AfxMessageBox(m_fileNameRight(c-t-1));

}

}

假设原文件夹为g:\test,目标文件夹为g:\bat,本批处理

将会把g:\test文件夹下(包括子目录)所有同名不同后缀的文件拷贝到g:\bat目录下

且按照不同名字建立相应的文件夹,同名文件就放在对应名称的文件夹内

代码如下:

set

srcfolder=g:\test

set

desfolder=g:\bat

for

/f

"delims="

%%a

in

('dir

"%srcfolder%\"

/a-d

/b

/s')

do

(

md

"%desfolder%\%%~na"

2>nul

xcopy

/y

"%%a"

"%desfolder%\%%~na"

2>nul

)

public class

File extends Object

implements SerializableComparable<T>

public class

FileInputStream extends InputStream(抽象类)

implements Closeable

从这个继承关系你就知道了 是不可能用FileInputStream 去 *** 作获得file的文件名和属性的 你只有实现File类 才能实现 FileInputStream 只是用来读写文件内容的

如果是想获取当前文件的父文件夹名

可以使用basename(__DIR__);

如果是兄弟文件夹,

可以用glob(__DIR__'');获取兄弟文件(夹),使用is_dir判断文件夹,从而获取文件夹名称,

其他上层文件夹名

可以使用explode('/', str_replace("\\", "/", __DIR__));各个上层文件夹的名字根据层次索引存在数组中

以上就是关于根据文件的全路径获取文件简单名称,如:fileFullName="F:\a.txt" 则返回a.txt (C/C++ 实现) 要考虑文件全部的内容,包括:根据文件的全路径获取文件简单名称,如:fileFullName="F:\a.txt" 则返回a.txt (C/C++ 实现) 要考虑文件、如何获取一个文件夹里面所有文件的文件名,不要后缀名、java 如何通过 FileInputStream 获取文件名、文件属性的求助等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9440160.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存