acl
3.5.3.0
|
#include <istream.hpp>
Public 成员函数 | |
istream (void) | |
virtual | ~istream (void) |
int | read (void *buf, size_t size, bool loop=true) |
bool | readtags (void *buf, size_t *inout, const char *tag, size_t len) |
bool | gets (void *buf, size_t *size_inout, bool nonl=true) |
bool | read (long long int &n, bool loop=true) |
bool | read (int &n, bool loop=true) |
bool | read (short &n, bool loop=true) |
bool | read (char &ch) |
bool | read (string &s, bool loop=true) |
bool | read (string *s, bool loop=true) |
bool | read (string &s, size_t max, bool loop=true) |
bool | read (string *s, size_t max, bool loop=true) |
bool | gets (string &s, bool nonl=true, size_t max=0) |
bool | gets (string *s, bool nonl=true, size_t max=0) |
bool | readtags (string &s, const string &tag) |
bool | readtags (string *s, const string &tag) |
int | getch (void) |
int | ugetch (int ch) |
bool | gets_peek (string &buf, bool nonl=true, bool clear=false, int max=0) |
bool | gets_peek (string *buf, bool nonl=true, bool clear=false, int max=0) |
bool | read_peek (string &buf, bool clear=false) |
bool | read_peek (string *buf, bool clear=false) |
int | read_peek (void *buf, size_t size) |
bool | readn_peek (string &buf, size_t cnt, bool clear=false) |
bool | readn_peek (string *buf, size_t cnt, bool clear=false) |
istream & | operator>> (string &s) |
istream & | operator>> (long long int &n) |
istream & | operator>> (int &n) |
istream & | operator>> (short &n) |
istream & | operator>> (char &ch) |
Public 成员函数 继承自 acl::stream | |
stream (void) | |
virtual | ~stream (void)=0 |
bool | close (void) |
bool | eof (void) const |
void | clear_eof (void) |
bool | opened (void) const |
ACL_VSTREAM * | get_vstream (void) const |
ACL_VSTREAM * | unbind (void) |
bool | set_ctx (void *ctx, const char *key=NULL, bool replace=true) |
void * | get_ctx (const char *key=NULL) const |
void * | del_ctx (const char *key=NULL) |
void | set_rw_timeout (int n) |
void | set_time_unit (time_unit_t unit) |
int | get_rw_timeout (void) const |
stream_hook * | setup_hook (stream_hook *hook) |
stream_hook * | get_hook (void) const |
stream_hook * | remove_hook (void) |
string & | get_buf (void) |
dbuf_pool & | get_dbuf (void) |
额外继承的成员函数 | |
Protected 成员函数 继承自 acl::stream | |
void | open_stream (bool is_file=false) |
void | reopen_stream (bool is_file=false) |
Protected 成员函数 继承自 acl::acl::noncopyable | |
noncopyable () | |
~noncopyable () | |
Protected 属性 继承自 acl::stream | |
stream_hook * | hook_ |
ACL_VSTREAM * | stream_ |
string * | buf_ |
dbuf_pool * | dbuf_ |
void * | default_ctx_ |
std::map< string, void * > * | ctx_table_ |
bool | eof_ |
bool | opened_ |
输入流操作类,如果想确切知道输入流是否关闭或出错或读到了文件流的 尾部,应通过调用 stream->eof() 来进行判断
在文件 istream.hpp 第 15 行定义.
|
inline |
在文件 istream.hpp 第 18 行定义.
|
inlinevirtual |
在文件 istream.hpp 第 19 行定义.
int acl::istream::getch | ( | void | ) |
从输入流中读一个字节数据
bool acl::istream::gets | ( | void * | buf, |
size_t * | size_inout, | ||
bool | nonl = true |
||
) |
从输入流中读到一行数据
buf | {void*} 用户缓冲区 |
size_inout | {size_t*} 作为参数时 *size_inout 表示缓冲 buf 的空间大小,函数返回后记录存储于 buf 中的数据长度 |
nonl | {bool} 如果为 true 则会将读到的一行数据尾部的 "\r\n" 或 "\n" 去掉,*size_inout 存储的数据长度是去掉 "\r\n" 或 "\n" 后 的长度;否则,保留数据行中的 "\r\n" 或 "\n",同时 *size_inout 存 储的是包含 "\r\n" 或 "\n" 的数据长度 |
bool acl::istream::gets | ( | string & | s, |
bool | nonl = true , |
||
size_t | max = 0 |
||
) |
从输入流中读一行数据至缓冲区中
s | {string&} 缓冲区,内部会首先自动清空该缓冲区 |
nonl | {bool} 是否保留所读行数据中的 "\r\n" 或 "\n" |
max | {size_t} 当该值 > 0 时,该值限定了所读到行的最大值,当 接收到数据行长度大于该值时,则仅返回部分数据,同时内部会记录警告; 当该值 = 0 时,则不限制行数据长度 |
bool acl::istream::gets | ( | string * | s, |
bool | nonl = true , |
||
size_t | max = 0 |
||
) |
bool acl::istream::gets_peek | ( | string & | buf, |
bool | nonl = true , |
||
bool | clear = false , |
||
int | max = 0 |
||
) |
尝试性从输入流中读取一行数据
buf | {string&} 缓冲区 |
nonl | {bool} 是否保留所读行数据中的 "\r\n" 或 "\n" |
clear | {bool} 是否内部自动清空 buf 缓冲区 |
max | {int} 当该值 > 0 时则设置所读行数据的最大长度以避免本地 缓冲区溢出 |
bool acl::istream::gets_peek | ( | string * | buf, |
bool | nonl = true , |
||
bool | clear = false , |
||
int | max = 0 |
||
) |
istream& acl::istream::operator>> | ( | long long int & | n | ) |
istream& acl::istream::operator>> | ( | int & | n | ) |
istream& acl::istream::operator>> | ( | short & | n | ) |
istream& acl::istream::operator>> | ( | char & | ch | ) |
int acl::istream::read | ( | void * | buf, |
size_t | size, | ||
bool | loop = true |
||
) |
从输入流中读数据
buf | {void*} 用户缓冲区 |
size | {size_t} 用户缓冲区长度 |
loop | {bool} 是否读满 size 后才返回 |
bool acl::istream::read | ( | long long int & | n, |
bool | loop = true |
||
) |
从输入流中读一个 64 位整数
n | {acl_int64&} 64 位整数 |
loop | {bool} 是否阻塞式读完8个字节 |
bool acl::istream::read | ( | int & | n, |
bool | loop = true |
||
) |
从输入流中读一个 32 位整数
n | {int&} 32 位整数 |
loop | {bool} 是否阻塞式读完4个字节 |
bool acl::istream::read | ( | short & | n, |
bool | loop = true |
||
) |
从输入流中读一个 16 位整数
n | {short&} 16 位整数 |
loop | {bool} 是否阻塞式读完2个字节 |
bool acl::istream::read | ( | char & | ch | ) |
从输入流中读取一个字节
ch | {char&} |
bool acl::istream::read | ( | string & | s, |
bool | loop = true |
||
) |
从输入流中读数据至缓冲区中
s | {string*} 缓冲区,内部会首先自动清空该缓冲区 |
loop | {bool} 是否阻塞式读满整个缓冲,缓冲区 的容量为 s.capacity() |
bool acl::istream::read | ( | string * | s, |
bool | loop = true |
||
) |
bool acl::istream::read | ( | string & | s, |
size_t | max, | ||
bool | loop = true |
||
) |
从输入流中读数据至缓冲区中
s | {string*} 缓冲区,内部会首先自动清空该缓冲区 |
max | {size_t} 希望读到的数据的最大值 |
loop | {bool} 是否读到要求的 max 字节数为止 |
bool acl::istream::read | ( | string * | s, |
size_t | max, | ||
bool | loop = true |
||
) |
bool acl::istream::read_peek | ( | string & | buf, |
bool | clear = false |
||
) |
尝试性从输入流中读取数据
buf | {string&} 缓冲区 |
clear | {bool} 函数开始时是否内部自动清空 buf 缓冲区 |
bool acl::istream::read_peek | ( | string * | buf, |
bool | clear = false |
||
) |
int acl::istream::read_peek | ( | void * | buf, |
size_t | size | ||
) |
尝试性从输入流中读取数据
buf | {void*} 缓冲区 |
size | {size_t} buf 缓冲区大小 |
bool acl::istream::readn_peek | ( | string & | buf, |
size_t | cnt, | ||
bool | clear = false |
||
) |
尝试性从输入流中读取指定长度的数据
buf | {string&} 缓冲区 |
cnt | {size_t} 要求读到的数据长度 |
clear | {bool} 函数开始时是否内部自动清空 buf 缓冲区 |
bool acl::istream::readn_peek | ( | string * | buf, |
size_t | cnt, | ||
bool | clear = false |
||
) |
bool acl::istream::readtags | ( | void * | buf, |
size_t * | inout, | ||
const char * | tag, | ||
size_t | len | ||
) |
从输入流读数据直至读到所要求的字符串或出错才返回
buf | {void*} 用户缓冲区 |
inout | {size_t*} 作为参数时 *inout 表示缓冲 buf 的空间大小,函数返回后记录存储于 buf 中的数据长度 |
tag | {const char*} 要求读到的字符串 |
len | {size_t} tag 字符串的长度 |
从输入流中读数据直到读到要求的字符串数据作为分隔符的数据, 读取的数据的最后部分应该是该字符串
s | {string&} 缓冲区,内部会首先自动清空该缓冲区 |
tag | {const string&} 要求读的字符串数据 |
int acl::istream::ugetch | ( | int | ch | ) |
向输入流中放加一个字节的数据
ch | {int} 一个字符的 ASCII 码值 |