acl  3.5.3.0
acl::fstream类 参考

#include <fstream.hpp>

+ 类 acl::fstream 继承关系图:
+ acl::fstream 的协作图:

Public 成员函数

 fstream (void)
 
virtual ~fstream (void)
 
bool open (const char *path, unsigned int oflags, int mode)
 
bool open_trunc (const char *path)
 
bool create (const char *path)
 
bool remove (void)
 
bool rename (const char *from_path, const char *to_path)
 
void open (int fh, unsigned int oflags, const char *path=NULL)
 
long long int fseek (long long int offset, int whence)
 
long long int ftell (void)
 
bool ftruncate (long long int length)
 
long long int fsize (void) const
 
int file_handle (void) const
 
const char * file_path (void) const
 
bool lock (bool exclude=true)
 
bool try_lock (bool exclude=true)
 
bool unlock (void)
 
- Public 成员函数 继承自 acl::istream
 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)
 
istreamoperator>> (string &s)
 
istreamoperator>> (long long int &n)
 
istreamoperator>> (int &n)
 
istreamoperator>> (short &n)
 
istreamoperator>> (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_VSTREAMget_vstream (void) const
 
ACL_VSTREAMunbind (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_hooksetup_hook (stream_hook *hook)
 
stream_hookget_hook (void) const
 
stream_hookremove_hook (void)
 
stringget_buf (void)
 
dbuf_poolget_dbuf (void)
 
- Public 成员函数 继承自 acl::ostream
 ostream (void)
 
virtual ~ostream (void)
 
int write (const void *data, size_t size, bool loop=true, bool buffed=false)
 
bool fflush (void)
 
int writev (const struct iovec *v, int count, bool loop=true)
 
int vformat (const char *fmt, va_list ap)
 
int format (const char *fmt,...) ACL_CPP_PRINTF(2
 
int int write (long long int n)
 
int write (int n)
 
int write (short n)
 
int write (char ch)
 
int write (const string &s, bool loop=true)
 
int puts (const char *s)
 
ostreamoperator<< (const string &s)
 
ostreamoperator<< (const char *s)
 
ostreamoperator<< (long long int n)
 
ostreamoperator<< (int n)
 
ostreamoperator<< (short n)
 
ostreamoperator<< (char ch)
 
virtual int push_pop (const char *in, size_t len, string *out=NULL, size_t max=0)
 
virtual int pop_end (string *out, size_t max=0)
 
- Public 成员函数 继承自 acl::pipe_stream
 pipe_stream ()
 
virtual ~pipe_stream ()
 
virtual void clear ()
 

静态 Public 成员函数

static long long int fsize (const char *path)
 

额外继承的成员函数

- 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_hookhook_
 
ACL_VSTREAMstream_
 
stringbuf_
 
dbuf_pooldbuf_
 
void * default_ctx_
 
std::map< string, void * > * ctx_table_
 
bool eof_
 
bool opened_
 

详细描述

在文件 fstream.hpp10 行定义.

构造及析构函数说明

◆ fstream()

acl::fstream::fstream ( void  )

◆ ~fstream()

virtual acl::fstream::~fstream ( void  )
virtual

成员函数说明

◆ create()

bool acl::fstream::create ( const char *  path)

以读/写方式建新文件,文件属性为 0700, 若文件不存在则创建新文件, 若存在则打开旧文件

返回
{bool} 文件创建是否成功

◆ file_handle()

int acl::fstream::file_handle ( void  ) const

◆ file_path()

const char* acl::fstream::file_path ( void  ) const

获得文件的全路径

返回
{const char*} 若返回空则表示文件还未打开或出错

◆ fseek()

long long int acl::fstream::fseek ( long long int  offset,
int  whence 
)

◆ fsize() [1/2]

long long int acl::fstream::fsize ( void  ) const

◆ fsize() [2/2]

static long long int acl::fstream::fsize ( const char *  path)
static

◆ ftell()

long long int acl::fstream::ftell ( void  )

◆ ftruncate()

bool acl::fstream::ftruncate ( long long int  length)

◆ lock()

bool acl::fstream::lock ( bool  exclude = true)

当文件打开后,该方法用来对文件加锁

参数
exclude{bool} 加锁方式是否是独占锁,默认是独占锁,如果该值 为 false, 则为共享锁
返回
{bool} 返回 false 表示加锁失败,可通过 acl::last_serror 查看 出错原因

◆ open() [1/2]

bool acl::fstream::open ( const char *  path,
unsigned int  oflags,
int  mode 
)

根据文件路径打开文件流, 这是最基础的打开文件的方式

参数
path{const char*} 文件名
oflags{unsigned int} 标志位, We're assuming that O_RDONLY: 0x0000, O_WRONLY: 0x0001, O_RDWR: 0x0002, O_APPEND: 0x0008, O_CREAT: 0x0100, O_TRUNC: 0x0200, O_EXCL: 0x0400; just for win32, O_TEXT: 0x4000, O_BINARY: 0x8000, O_RAW: O_BINARY, O_SEQUENTIAL: 0x0020, O_RANDOM: 0x0010.
mode{int} 打开文件句柄时的模式(如: 0600)
返回
{bool} 打开文件是否成功

◆ open() [2/2]

void acl::fstream::open ( int  fh,
unsigned int  oflags,
const char *  path = NULL 
)

◆ open_trunc()

bool acl::fstream::open_trunc ( const char *  path)

以读/写方式打开文件流,当文件不存在时则创建新文件,当文件存在时则 将文件清空, 文件属性为 0700

参数
path{const char*} 文件名
返回
{bool} 打开文件是否成功

◆ remove()

bool acl::fstream::remove ( void  )

将本类对象对应的文件从磁盘上删除,该函数只有当内部知道文件路径 时才能正确删除文件,否则无法删除

返回
{bool} 删除文件是否成功

◆ rename()

bool acl::fstream::rename ( const char *  from_path,
const char *  to_path 
)

将当前文件重命名为指定文件名,针对 WINDOWS 平台,需要先关闭当前文件 句柄,当重命名成功后再重新打开新的目标文件

参数
from_path{const char*} 源文件名
to_path{const char*} 目标文件名
返回
{bool} 命名是否成功

◆ try_lock()

bool acl::fstream::try_lock ( bool  exclude = true)

当文件打开后,该方法用来尝试对文件加锁,如果加锁成功则返回 true,如 果该文件已经被其它进程加锁,则返回 false

参数
exclude{bool} 加锁方式是否是独占锁,默认是独占锁,如果该值 为 false, 则为共享锁
返回
{bool} 返回 false 表示加锁失败,可通过 acl::last_serror 查看 出错原因

◆ unlock()

bool acl::fstream::unlock ( void  )

当调用 lock 或 try_lock 成功后可以调用本方法对文件解锁

返回
{bool} 解锁是否成功

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