TParse
概述
分析文件名。该类使用SymbianOS支持的全路径文件名结构。首先,TParse使用Set()函数建立需要分析的文件名。然后,使用多个在基类TParseBase中定义的获取函数,如:FullName()、Drive()、Path()、DriveAndPath()、Name()、Ext()和NameAndExt()来获得路径的各个组成部分。
TParseAPI
1、TParse
IMPORT_CTParse();
默认构造函数。
2、Set()、SetNoWild()
IMPORT_C TInt Set(constTDesC &aName,
const TDesC *aRelated,
const TDesC *aDefault);
指定需要分析的文件名,文件名中允许使用通配符。aRelated和aDefault默认为NULL。
IMPORT_C TIntSetNoWild(const TDesC &aName,
const TDesC *aRelated,
const TDesC *aDefault);
指定需要分析的文件名,文件名中不允许使用通配符。aRelated和aDefault默认为NULL。
3、FullName()、Drive()、Path()、DriveAndPath()、
Name()、Ext()、NameAndExt()
IMPORT_C const TDesC&FullName() const;
获得全路径文件名:drive-letter:\path\filename.extension
IMPORT_C TPtrC Drive()const;
获得驱动器字符:drive-letter:
IMPORT_C TPtrC Path()const;
获得路径:\path\
IMPORT_C TPtrCDriveAndPath() const;
获得驱动器字符和路径:drive-letter:\path\
IMPORT_C TPtrC Name()const;
获得文件名称:filename
IMPORT_C TPtrC Ext()const;
获得文件扩展名:.extension
IMPORT_C TPtrCNameAndExt() const;
获得文件名称和扩展名:filename.extension
4、PopDir()、AddDir()
IMPORT_C TIntPopDir();
将全名文件名中最后一个目录从路径中删除。用于导航到上一级目录中。
IMPORT_C TIntAddDir(const TDesC &aName);
在全名文件名的最后一个目录和文件名(如果有文件名的话)之间插入指定的目录,插入目录的开始和结尾处不能包含"\"。
5、DrivePresent()、PathPresent()、NamePresent()、ExtPresent()、
NameOrExtPresent()
IMPORT_C TBoolDrivePresent() const;
判断由TParse::Set()、TParse::SetNoWild()或RFs::Parse()
的aName参数指定的全路径的驱动器是否存在。
IMPORT_C TBoolPathPresent() const;
判断由TParse::Set()、TParse::SetNoWild()或RFs::Parse()
的aName参数指定的全路径的路径是否存在。
IMPORT_C TBoolNamePresent() const;
判断由TParse::Set()、TParse::SetNoWild()或RFs::Parse()
的aName参数指定的全路径的名称是否存在。
IMPORT_C TBoolExtPresent() const;
判断由TParse::Set()、TParse::SetNoWild()或RFs::Parse()
的aName参数指定的全路径的扩展名是否存在。
IMPORT_C TBoolNameOrExtPresent() const;
判断由TParse::Set()、TParse::SetNoWild()或RFs::Parse()
的aName参数指定的全路径的文件名或扩展名是否存在。
6、IsRoot()、IsWild()、IsNameWild()、IsExtWild()
IMPORT_C TBool IsRoot()const;
判断经过分析后的全路径是否为根目录。
IMPORT_C TBool IsWild()const;
判断经过分析后的全路径中的文件名或扩展名是否包含通配符。
IMPORT_C TBoolIsNameWild() const;
判断经过分析后的全路径中的文件名是否包含通配符。
IMPORT_C TBoolIsExtWild() const;
判断经过分析后的全路径中的扩展名是否包含通配符。