YSTest  PreAlpha_b500_20140530
The YSLib Test Project
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
YSLib::TextFile类 参考

文本文件类。 更多...

#include <TextFile.h>

类 YSLib::TextFile 继承关系图:
YSLib::TextFile 的协作图:

Public 成员函数

 TextFile (const char *, std::ios_base::openmode=std::ios_base::in, Text::Encoding=Text::CS_Default)
 构造:使用指定文件名、编码和模式初始化文本文件对象。 更多...
 
 TextFile (const String &)
 构造:使用指定文件名初始化只读文本文件对象。 更多...
 
string GetBOM () const
 取 BOM 字符串。 更多...
 
 DefGetter (const ynothrow, u8, BOMSize, bl) DefGetter(const ynothrow
 
 GetSize ()-GetBOMSize()) DefGetter(const ynothrow
 < 取文本区段大小。 更多...
 
void Rewind () const
 设置文件读位置为文本区段头。 更多...
 
template<typename _tChar , typename... _tParams>
Text::ConversionResult ReadChar (_tChar &c, _tParams &&...args) const
 按自身编码读取 Unicode 字符。 更多...
 
template<typename... _tParams>
Text::ConversionResult SkipChar (_tParams &&...args) const
 按自身编码读取但不保存 Unicode 字符。 更多...
 
bool Truncate (size_t) const override
 截断文本。 更多...
 
- Public 成员函数 继承自 YSLib::File
 File ()
 构造。 更多...
 
 File (const char *, const char *="rb")
 构造:使用指定文件路径初始化对象。 更多...
 
 File (const char *, std::ios_base::openmode)
 
 File (const String &, const ucs2_t *=u"rb")
 
 File (const String &, std::ios_base::openmode)
 
virtual ~File ()
 析构。 更多...
 
 PDefHOp (bool,!,) const ynothrow ImplRet(!bool(*this)) explicit DefCvt(const ynothrow
 判断无效性。 更多...
 
fp DefGetter (const ynothrow, FILE *, Ptr, fp) DefGetter(const ynothrow
 
fp fsize DefGetter (const ynothrow, ptrdiff_t, Position, std::ftell(fp)) PDefH(int
 < 取文件大小。 更多...
 
fp fsize ptrdiff_t int whence const ImplRet (std::fseek(fp, offset, whence)) PDefH(int
 检测文件结束符。 更多...
 
void Close ()
 检查文件有效长度后读位置返回文件起始。 更多...
 
bool Open (const String &, const ucs2_t *=u"rb")
 
bool Open (const String &, std::ios_base::openmode)
 

Public 属性

Text::Encoding Encoding
 编码。 更多...
 
 size_t
 
 TextSize
 
 TextPosition
 
- Public 属性 继承自 YSLib::File
 bool
 
fp size_t
 
fp Size
 
fp fsize Seek
 
fp fsize ptrdiff_t offset
 
fp fsize ptrdiff_t int whence const CheckEOF
 

Private 属性

size_t bl
 BOM 大小。 更多...
 

额外继承的成员函数

详细描述

文本文件类。

在文件 TextFile.h56 行定义.

构造及析构函数说明

YSLib::TextFile::TextFile ( const char *  filename,
std::ios_base::openmode  mode = std::ios_base::in,
Text::Encoding  enc = Text::CS_Default 
)
explicit

构造:使用指定文件名、编码和模式初始化文本文件对象。

注解
当打开文件大小为零且以可写方式打开时按编码写入 BOM 。
自从
build 412

在文件 TextFile.cpp80 行定义.

参考 YSLib::BOM_UTF_16BE, YSLib::BOM_UTF_16LE, YSLib::BOM_UTF_32BE, YSLib::BOM_UTF_32LE, YSLib::BOM_UTF_8, GetSize(), CHRLib::CharSet::UTF_16BE(), CHRLib::CharSet::UTF_16LE(), CHRLib::CharSet::UTF_32BE(), CHRLib::CharSet::UTF_32LE(), CHRLib::CharSet::UTF_8() , 以及 yunseq.

函数调用图:

YSLib::TextFile::TextFile ( const String filename)
explicit

构造:使用指定文件名初始化只读文本文件对象。

自从
build 305

在文件 TextFile.cpp108 行定义.

成员函数说明

YSLib::TextFile::DefGetter ( const ynothrow  ,
u8  ,
BOMSize  ,
bl   
) const
string YSLib::TextFile::GetBOM ( ) const

取 BOM 字符串。

后置条件
Rewind()
自从
build 341

在文件 TextFile.cpp116 行定义.

参考 platform_ex::Windows::s.

YSLib::TextFile::GetSize ( ) const

< 取文本区段大小。

参考自 TextFile().

这是这个函数的调用关系图:

template<typename _tChar , typename... _tParams>
Text::ConversionResult YSLib::TextFile::ReadChar ( _tChar &  c,
_tParams &&...  args 
) const
inline

按自身编码读取 Unicode 字符。

自从
build 273

在文件 TextFile.h124 行定义.

参考 CHRLib::MBCToUC().

函数调用图:

void YSLib::TextFile::Rewind ( ) const

设置文件读位置为文本区段头。

在文件 TextFile.cpp173 行定义.

参考 YSLib::File::Seek.

参考自 NPL::operator>>().

这是这个函数的调用关系图:

template<typename... _tParams>
Text::ConversionResult YSLib::TextFile::SkipChar ( _tParams &&...  args) const
inline

按自身编码读取但不保存 Unicode 字符。

自从
build 273

在文件 TextFile.h135 行定义.

参考 YSLib::UI::args , 以及 CHRLib::MBCToUC().

函数调用图:

bool YSLib::TextFile::Truncate ( size_t  size) const
override

截断文本。

参见
File::Truncate
自从
build 341

在文件 TextFile.cpp179 行定义.

类成员变量说明

size_t YSLib::TextFile::bl
private

BOM 大小。

在文件 TextFile.h59 行定义.

Text::Encoding YSLib::TextFile::Encoding

编码。

警告
修改编码可能会造成读取错误。
自从
build 290

在文件 TextFile.h67 行定义.

参考自 YSLib::ReadConfiguration().

YSLib::TextFile::size_t

在文件 TextFile.h92 行定义.

YSLib::TextFile::TextPosition

在文件 TextFile.h94 行定义.

YSLib::TextFile::TextSize

在文件 TextFile.h92 行定义.


该类的文档由以下文件生成: