YSTest: YSLib::File类 参考

YSTest PreAlpha_b500_20140530 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

- 类列表
- 类索引
- 类继承关系
- 类成员

全部 类 命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义 组 页
Public 成员函数 | Public 属性 | Private 属性 | 所有成员列表
YSLib::File类 参考

文件基类。 更多...

`#include <File.h>`

类 YSLib::File 继承关系图:
[图例]
YSLib::File 的协作图:
[图例]

## Public 成员函数

| 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 属性

| bool
fp | size_t
fp | Size
fp fsize | Seek
fp fsize ptrdiff_t | offset
fp fsize ptrdiff_t int whence const | CheckEOF

## Private 属性

std::FILE * | fp
size_t | fsize
| 文件大小。 更多...

## 相关函数

(请注意: 这些不是成员函数.)
template<typename _tChar >
File & | operator>> (File &f, typename std::char_traits< _tChar >::char_type &c)
| 从指定文件读字符。 更多...
template<typename _tString >
File & | operator>> (File &f, _tString &str)
| 从指定文件读空白符分隔的字符串。 更多...
File & | operator<< (File &f, char c)
| 向指定文件写字符。 更多...
File & | operator<< (File &f, const char *str)
| 向指定文件写字符串。 更多...
template<typename _tString >
File & | operator<< (File &f, const _tString &str)
| 向指定文件写字符串。 更多...

## 额外继承的成员函数

Private 成员函数 继承自 ystdex::noncopyable
| noncopyable (const noncopyable &)=delete
| 禁止复制构造。 更多...
noncopyable & | operator= (const noncopyable &)=delete
| 禁止赋值复制。 更多...
| noncopyable ()=default
| `protected` 构造：默认实现。 更多...
| ~noncopyable ()=default
| `protected` 析构：默认实现。 更多...

## 详细描述

文件基类。

自从
  build 206

在文件 File.h 第 43 行定义.

## 构造及析构函数说明

YSLib::File::File | ( |  | ) |

构造。

注解
  得到空对象。

在文件 File.cpp 第 35 行定义.

YSLib::File::File | ( | const char * | filename,
|  | const char * | mode = `"rb"`
| ) |  |

explicit

构造：使用指定文件路径初始化对象。

注解
  自动打开文件。

自从
  build 326
  build 412

在文件 File.cpp 第 38 行定义.

参考 fsize, Open() , 以及 Seek.

函数调用图:

YSLib::File::File | ( | const char * | filename,
|  | std::ios_base::openmode | mode
| ) |  |

自从
  build 412

在文件 File.cpp 第 48 行定义.

YSLib::File::File | ( | const String & | filename,
|  | const ucs2_t * | mode = `u"rb"`
| ) |  |

explicit

在文件 File.cpp 第 51 行定义.

参考 fsize, Open() , 以及 Seek.

函数调用图:

YSLib::File::File | ( | const String & | filename,
|  | std::ios_base::openmode | mode
| ) |  |

在文件 File.cpp 第 61 行定义.

YSLib::File::~File | ( |  | ) |

virtual

析构。

注解
  自动关闭文件。

在文件 File.cpp 第 65 行定义.

参考 Close().

函数调用图:

## 成员函数说明

void YSLib::File::Close | ( |  | ) |

检查文件有效长度后读位置返回文件起始。

自从
  build 305

关闭文件。

注解
  语义同 `std::fclose` 。
  清除文件指针。

在文件 File.cpp 第 79 行定义.

参考 fp.

参考自 Open() , 以及 ~File().

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

fp YSLib::File::DefGetter | ( | const ynothrow | ,
|  | FILE * | ,
|  | Ptr | ,
|  | fp |
| ) |  | const

fp fsize YSLib::File::DefGetter | ( | const ynothrow | ,
|  | ptrdiff_t | ,
|  | Position | ,
|  | std:: | ftellfp
| ) |  |

< 取文件大小。

取文件指针的位置，返回值语义同 std::ftell 。

设置文件指针位置。

注解
  参数和返回值语义同 `std::fseek` 。

自从
  build 273

fp fsize ptrdiff_t int whence const YSLib::File::ImplRet | ( | std:: | fseekfp, offset, whence | ) |

检测文件结束符。

注解
  参数和返回值语义同 `std::feof()` 。

bool YSLib::File::Open | ( | const String & | filename,
|  | const ucs2_t * | mode = `u"rb"`
| ) |  |

在文件 File.cpp 第 99 行定义.

参考 Close(), fp , 以及 platform::ufopen().

参考自 File() , 以及 Open().

函数调用图:

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

bool YSLib::File::Open | ( | const String & | filename,
|  | std::ios_base::openmode | mode
| ) |  |

在文件 File.cpp 第 107 行定义.

参考 Open() , 以及 ystdex::openmode_conv().

函数调用图:

YSLib::File::PDefHOp | ( | bool | ,
|  | ! |
| ) |  | const

判断无效性。

自从
  build 319

判断有效性。

自从
  build 319

## 友元及相关函数文档

File & operator<< | ( | File & | f,
|  | char | c
| ) |  |

related

向指定文件写字符。

自从
  build 326

在文件 File.h 第 239 行定义.

参考 YSLib::UI::f , 以及 YAssert.

File & operator<< | ( | File & | f,
|  | const char * | str
| ) |  |

related

向指定文件写字符串。

自从
  build 326

在文件 File.h 第 250 行定义.

参考 YSLib::UI::f , 以及 YAssert.

template<typename _tString >

File & operator<< | ( | File & | f,
|  | const _tString & | str
| ) |  |

related

向指定文件写字符串。

自从
  build 326

待办事项:
  支持非 char 元素字符串。

在文件 File.h 第 263 行定义.

参考 YSLib::UI::f , 以及 YAssert.

template<typename _tChar >

File & operator>> | ( | File & | f,
|  | typename std::char_traits< _tChar >::char_type & | c
| ) |  |

related

从指定文件读字符。

参数

  f | 文件。

前置条件
  `bool(f)` 。

自从
  build 326

在文件 File.h 第 210 行定义.

参考 YSLib::UI::f , 以及 YAssert.

template<typename _tString >

File & operator>> | ( | File & | f,
|  | _tString & | str
| ) |  |

related

从指定文件读空白符分隔的字符串。

自从
  build 326

在文件 File.h 第 223 行定义.

参考 CHRLib::c, YSLib::UI::f , 以及 YAssert.

## 类成员变量说明

YSLib::File::bool

在文件 File.h 第 90 行定义.

fp fsize ptrdiff_t int whence const YSLib::File::CheckEOF

在文件 File.h 第 111 行定义.

参考自 NPL::Session::Session().

std::FILE* YSLib::File::fp

private

自从
  build 341 默认文件指针。

在文件 File.h 第 47 行定义.

参考自 Close() , 以及 Open().

size_t YSLib::File::fsize

private

文件大小。

自从
  build 341

在文件 File.h 第 49 行定义.

参考自 File().

fp fsize ptrdiff_t YSLib::File::offset

在文件 File.h 第 104 行定义.

fp fsize YSLib::File::Seek

在文件 File.h 第 104 行定义.

参考自 File() , 以及 YSLib::TextFile::Rewind().

fp YSLib::File::Size

在文件 File.h 第 93 行定义.

fp YSLib::File::size_t

在文件 File.h 第 93 行定义.

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

- File.h
- File.cpp