User Tools

Site Tools


class:kernel:xtextio



XTextIO

Inherited from XBufferIO,

Inherited by NULL

Friend class NULL

Description

XTextIO从XBufferIO继承,是用于完成文本文件IO的工具类。它利用XBufferIO提供的缓冲区机制是开发者可以在内存中操作文件文件内容(解析数据或按给定格式写出),它既可以使用固定格式(数据大小固定),也可以使用自由格式(数据通过间隔符间隔)。使用它可以显著提高文本文件的处理速度和开发效率。

Members

Public interface


int m_iTxtMode

文本文件的格式,自由格式Txt_Free或者固定格式Txt_Fixed

int m_iFixIntWidth

固定格式中整型数的字符串宽度

int m_iFixDblWidth

固定格式中浮点数的字符串宽度(读入模式)

int m_iDblPrecision

固定格式中浮点数的精度(写出模式)

char m_cFreeSeparator

数据间隔符


XTextIO(const char * path = 0,int buf_size = MEG,TextFormat tf = Txt_Fixed)

  • function: 构造函数
  • parameters:
    1. [i]const char * path = 0: 文件路径
    2. [i]int buf_size = MEG: 缓冲区大小
    3. [i]TextFormat tf = Txt_Fixed: 文本文件的格式,默认固定格式
  • return value: 无

void setTextFormat(bool bFree)

  • function: 设置文本的格式
  • parameters:
    1. [i]bool bFree: 是否自由格式
  • return value: 无

void setFreeSeparator(char c)

  • function: 设置数据间隔符
  • parameters:
    1. [i]char c: 间隔符
  • return value: 无

void setFixWidth(int intWidth, int dblWidth)

  • function: 设置固定格式下数据的字符串宽度
  • parameters:
    1. [i]int intWidth: 整型数的字符串宽度
    2. [i] int dblWidth: 浮点数的字符串宽度
  • return value: 无

void setDblPrecision(int pn)

  • function: 设置浮点数的写出精度
  • parameters:
    1. [i]int pn: 浮点数的精度(有效数字的个数)
  • return value: 无

void writeText(const char * data)

  • function: 写出字符串内容
  • parameters:
    1. [i]const char * data: 字符串内容
  • return value: 无

void readText(char * data)

  • function: 读入字符串内容到地址data中
  • parameters:
    1. [i]char * data: 存放字符串内容的地址
  • return value: 无

void skipWhite()

  • function: 跳过空白字符
  • parameters: NULL
  • return value: 无

void skipComment( char commentChar = '#')

  • function: 跳过注释
  • parameters:
    1. [i] char commentChar = '#': 注释前导符,默认为‘#’
  • return value: 无

void skipNumber()

  • function: 跳过数字
  • parameters: NULL
  • return value: 无

void skipToSpace()

  • function: 跳到空格处
  • parameters: NULL
  • return value: 无

void nextLine()

  • function: 写入换行符
  • parameters: NULL
  • return value: 无

void skipLine(int lines = 1)

  • function: 跳过指定行数的文本
  • parameters:
    1. [i]int lines = 1: 行数,默认为1
  • return value: 无

void skipCharacter(char c, int times = 1)

  • function: 跳过指定次数的字符
  • parameters:
    1. [i]char c: 字符
    2. [i] int times = 1: 次数,默认为1
  • return value: 无

void skipToNextKeyword()

  • function: 跳到下一个关键字
  • parameters: NULL
  • return value: 无

bool moveToKeyword(const char * key)

  • function: 移动到关键字
  • parameters:
    1. [i]const char * key: 关键字字符串
  • return value: 如匹配到关键字返回true,否则返回false

const char * getCurrentLine()

  • function: 获取当前行的字符串首地址
  • parameters: NULL
  • return value: 当前行的字符串首地址

int getLineCount(int * lineWordCnt)

  • function: 获取文件的行数
  • parameters:
    1. [i]int * lineWordCnt: 每行有多少个词
  • return value: 文件的行数

int readTextInt(int fixW = 0)

  • function: 读入整型数
  • parameters:
    1. [i]int fixW = 0: 字符串的固定宽度
  • return value: 整型数值

int readHexTextInt()

  • function: 读入16进制整型数
  • parameters: NULL
  • return value: 整型数值

double readTextDouble(int fixW = 0)

  • function: 读入浮点数
  • parameters:
    1. [i]int fixW = 0: 字符串的固定宽度,默认自由宽度
  • return value: 浮点数值

const char * readKeyword()

  • function: 读取关键字
  • parameters: NULL
  • return value: 关键字字符串

XTextIO & readQuoteString(char * str, bool bSingleQuote = false)

  • function: 读入引号中的字符串
  • parameters:
    1. [i]char * str: 存放字符串的内存空间
    2. [i] bool bSingleQuote = false: 是否单引号
  • return value: XTextIO文件类的引用,以便于继续调用其他函数

void writeTextInt(int v)

  • function: 写出整型数
  • parameters:
    1. [i]int v: 整型数
  • return value: 无

void writeTextDouble(double v, int precision = -1)

  • function: 写出浮点数
  • parameters:
    1. [i]double v: 浮点数
    2. [i] int precision = -1: 写出精度
  • return value: 无

void writeKeyword(const char * v)

  • function: 写出关键字
  • parameters:
    1. [i]const char * v: 关键字字符串
  • return value: 无

void writeQuoteString(const char * str)

  • function: 写出字符串,字符串被放入到引号中
  • parameters:
    1. [i]const char * str: 字符串
  • return value: 无

bool isNextKeyword(const char * str, char commentChar = '#')

  • function: 下一段有效字符串是否匹配关键字str(跳过注释)
  • parameters:
    1. [i]const char * str: 关键字
    2. [i] char commentChar = '#': 注释前导符
  • return value: 匹配返回true,否则返回false

bool isNextString(const char * str, char commentChar = '#')

  • function: 下一段有效字符串是否匹配字符串str(跳过注释)
  • parameters:
    1. [i]const char * str: 被匹配的字符串
    2. [i] char commentChar = '#': 注释前导符
  • return value: 匹配返回true,否则返回false

XTextIO & operator « (float v)

  • function: 写出单精度浮点数
  • parameters:
    1. [i]float v: 单精度浮点数
  • return value: XTextIO文件类的引用,以便于继续写出

XTextIO & operator « (double v)

  • function: 写出双精度浮点数
  • parameters:
    1. [i]double v: 双精度浮点数
  • return value: XTextIO文件类的引用,以便于继续写出

XTextIO & operator « (int v)

  • function: 写出整型数
  • parameters:
    1. [i]int v: 整型数
  • return value: XTextIO文件类的引用,以便于继续写出

XTextIO & operator « (ulong v)

  • function: 写出无符号整型数
  • parameters:
    1. [i]ulong v: 无符号整型数
  • return value: XTextIO文件类的引用,以便于继续写出

XTextIO & operator « (const char * str)

  • function: 写出字符串
  • parameters:
    1. [i]const char * str: 字符串
  • return value: XTextIO文件类的引用,以便于继续写出

XTextIO & operator « (IOCharacter c)

  • function: 写出特殊字符
  • parameters:
    1. [i]IOCharacter c: 特殊字符
  • return value: XTextIO文件类的引用,以便于继续写出

XTextIO & operator « (char c)

  • function: 写出单精度浮点数
  • parameters: 写出一个字符
    1. [i]char c: 字符
  • return value: XTextIO文件类的引用,以便于继续写出

XTextIO & operator » (float& v)

  • function: 读入单精度浮点数
  • parameters:
    1. [i]float& v: 单精度浮点数
  • return value: XTextIO文件类的引用,以便于继续读入

XTextIO & operator » (double& v)

  • function: 读入双精度浮点数
  • parameters:
    1. [i]double& v: 双精度浮点数
  • return value: XTextIO文件类的引用,以便于继续读入

XTextIO & operator » (int& v)

  • function: 读入整型数
  • parameters:
    1. [i]int& v: 整型数
  • return value: XTextIO文件类的引用,以便于继续读入

XTextIO & operator » (ulong& v)

  • function: 读入无符号整型数
  • parameters:
    1. [i]ulong& v: 无符号整型数
  • return value: XTextIO文件类的引用,以便于继续读入

XTextIO & operator » (char * str)

  • function: 读入字符串
  • parameters:
    1. [i]char * str: 字符串
  • return value: XTextIO文件类的引用,以便于继续读入

XTextIO & operator » (IOCharacter c)

  • function: 读入特殊字符
  • parameters:
    1. [i]IOCharacter c: 特殊字符
  • return value: XTextIO文件类的引用,以便于继续读入
class/kernel/xtextio.txt · Last modified: 2023/08/04 08:40 (external edit)