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 获取文件名、文件属性的求助等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)