Inherited from XBufferIO,
Inherited by NULL
Friend class NULL
Description
XTextIO从XBufferIO继承,是用于完成文本文件IO的工具类。它利用XBufferIO提供的缓冲区机制是开发者可以在内存中操作文件文件内容(解析数据或按给定格式写出),它既可以使用固定格式(数据大小固定),也可以使用自由格式(数据通过间隔符间隔)。使用它可以显著提高文本文件的处理速度和开发效率。
Members
Public interface
XTextIO(const char * path = 0,int buf_size = MEG,TextFormat tf = Txt_Fixed)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
XTextIO & operator
<< (float v)
XTextIO & operator
<< (double v)
XTextIO & operator
<< (int v)
XTextIO & operator
<< (ulong v)
XTextIO & operator
<< (const char * str)
XTextIO & operator
<< (IOCharacter c)
XTextIO & operator
<< (char c)
XTextIO & operator
>> (float& v)
XTextIO & operator
>> (double& v)
XTextIO & operator
>> (int& v)
XTextIO & operator
>> (ulong& v)
XTextIO & operator
>> (char * str)
XTextIO & operator
>> (IOCharacter c)
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:
[i]const char * path = 0: 文件路径
[i]int buf_size = MEG: 缓冲区大小
[i]TextFormat tf = Txt_Fixed: 文本文件的格式,默认固定格式
return value: 无
void setTextFormat(bool bFree)
function: 设置文本的格式
parameters:
[i]bool bFree: 是否自由格式
return value: 无
void setFreeSeparator(char c)
function: 设置数据间隔符
parameters:
[i]char c: 间隔符
return value: 无
void setFixWidth(int intWidth, int dblWidth)
void setDblPrecision(int pn)
function: 设置浮点数的写出精度
parameters:
[i]int pn: 浮点数的精度(有效数字的个数)
return value: 无
void writeText(const char * data)
function: 写出字符串内容
parameters:
[i]const char * data: 字符串内容
return value: 无
void readText(char * data)
void skipWhite()
function: 跳过空白字符
parameters: NULL
return value: 无
void skipComment( char commentChar = '#')
function: 跳过注释
parameters:
[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:
[i]int lines = 1: 行数,默认为1
return value: 无
void skipCharacter(char c, int times = 1)
function: 跳过指定次数的字符
parameters:
[i]char c: 字符
[i] int times = 1: 次数,默认为1
return value: 无
void skipToNextKeyword()
function: 跳到下一个关键字
parameters: NULL
return value: 无
bool moveToKeyword(const char * key)
const char * getCurrentLine()
function: 获取当前行的字符串首地址
parameters: NULL
return value: 当前行的字符串首地址
int getLineCount(int * lineWordCnt)
function: 获取文件的行数
parameters:
[i]int * lineWordCnt: 每行有多少个词
return value: 文件的行数
int readTextInt(int fixW = 0)
function: 读入整型数
parameters:
[i]int fixW = 0: 字符串的固定宽度
return value: 整型数值
int readHexTextInt()
function: 读入16进制整型数
parameters: NULL
return value: 整型数值
double readTextDouble(int fixW = 0)
function: 读入浮点数
parameters:
[i]int fixW = 0: 字符串的固定宽度,默认自由宽度
return value: 浮点数值
const char * readKeyword()
function: 读取关键字
parameters: NULL
return value: 关键字字符串
XTextIO & readQuoteString(char * str, bool bSingleQuote = false)
void writeTextInt(int v)
function: 写出整型数
parameters:
[i]int v: 整型数
return value: 无
void writeTextDouble(double v, int precision = -1)
function: 写出浮点数
parameters:
[i]double v: 浮点数
[i] int precision = -1: 写出精度
return value: 无
void writeKeyword(const char * v)
function: 写出关键字
parameters:
[i]const char * v: 关键字字符串
return value: 无
void writeQuoteString(const char * str)
bool isNextKeyword(const char * str, char commentChar = '#')
bool isNextString(const char * str, char commentChar = '#')
XTextIO & operator « (float v)
XTextIO & operator « (double v)
XTextIO & operator « (int v)
XTextIO & operator « (ulong v)
XTextIO & operator « (const char * str)
XTextIO & operator « (IOCharacter c)
XTextIO & operator « (char c)
XTextIO & operator » (float& v)
XTextIO & operator » (double& v)
XTextIO & operator » (int& v)
XTextIO & operator » (ulong& v)
XTextIO & operator » (char * str)
XTextIO & operator » (IOCharacter c)