⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wyfilestat.cpp

📁 一个不错
💻 CPP
字号:
/* Copyright is licensed under GNU LGPL.                 by I.J.Wang 2003*/#define WYLIB_SOURCE#include "wyfilestat.h"#include "wy__cfunc.h"#include <unistd.h>const char WyFileStat::class_name[]="WyFileStat";WyFileStat::WyFileStat() WY__TSPC(){ _stt.st_dev=dev_t(); _stt.st_ino=ino_t(); _stt.st_mode=mode_t(); _stt.st_nlink=nlink_t(); _stt.st_uid=uid_t(); _stt.st_gid=gid_t(); _stt.st_rdev=dev_t(); _stt.st_size=off_t(); _stt.st_blksize=blksize_t(); _stt.st_blocks=blkcnt_t(); _stt.st_atime=time_t(); _stt.st_mtime=time_t(); _stt.st_ctime=time_t();};WyFileStat::WyFileStat(const WyFileStat& src) WY__TSPC(){ _stt=src._stt;};WyFileStat::WyFileStat(WyFileStat &src, Wy::ByMove_t) WY__TSPC(){ _stt=src._stt;};WyFileStat::WyFileStat(const struct stat& fs) WY__TSPC(){ // self-copy ok std::memcpy(&_stt,&fs,sizeof(_stt));};bool WyFileStat::is_default(void) const WY__TSPC(){ if((_stt.st_dev!=dev_t())||    (_stt.st_ino!=ino_t())||    (_stt.st_mode!=mode_t())||    (_stt.st_nlink!=nlink_t())||    (_stt.st_uid!=uid_t())||    (_stt.st_gid!=gid_t())||    (_stt.st_rdev!=dev_t())||    (_stt.st_size!=off_t())||    (_stt.st_blksize!=blksize_t())||    (_stt.st_blocks!=blkcnt_t())||    (_stt.st_atime!=time_t())||    (_stt.st_mtime!=time_t())||    (_stt.st_ctime!=time_t())) {   return(false); } return(true);};void WyFileStat::reset(void) WY__TSPC(){ _stt.st_dev=dev_t(); _stt.st_ino=ino_t(); _stt.st_mode=mode_t(); _stt.st_nlink=nlink_t(); _stt.st_uid=uid_t(); _stt.st_gid=gid_t(); _stt.st_rdev=dev_t(); _stt.st_size=off_t(); _stt.st_blksize=blksize_t(); _stt.st_blocks=blkcnt_t(); _stt.st_atime=time_t(); _stt.st_mtime=time_t(); _stt.st_ctime=time_t();};void WyFileStat::reset(const WyFileStat& src) WY__TSPC(){ _stt=src._stt;};void WyFileStat::swap(WyFileStat& src) WY__TSPC(){ Wy__Base::vswap(_stt,src._stt); };const WyFileStat& WyFileStat::operator=(const WyFileStat& src) WY__TSPC(){ _stt=src._stt; return *this;};mode_t WyFileStat::sf_mode(void) const WY__TSPC(){ return _stt.st_mode;};ino_t WyFileStat::sf_ino(void) const WY__TSPC(){ return _stt.st_ino;};dev_t WyFileStat::sf_dev(void) const WY__TSPC(){ return _stt.st_dev;};nlink_t WyFileStat::sf_nlink(void) const WY__TSPC(){ return _stt.st_nlink;};uid_t WyFileStat::sf_uid(void) const WY__TSPC(){ return _stt.st_uid;};gid_t WyFileStat::sf_gid(void) const WY__TSPC(){ return _stt.st_gid;};dev_t WyFileStat::sf_rdev(void) const WY__TSPC(){ return _stt.st_rdev;};off_t WyFileStat::sf_size(void) const WY__TSPC(){ return _stt.st_size;};blksize_t WyFileStat::sf_blksize(void) const WY__TSPC(){ return _stt.st_blksize;};blkcnt_t WyFileStat::sf_blocks(void) const WY__TSPC(){ return _stt.st_blocks;};std::time_t WyFileStat::sf_atime(void) const WY__TSPC(){ return _stt.st_atime;};std::time_t WyFileStat::sf_ctime(void) const WY__TSPC(){ return _stt.st_ctime;};std::time_t WyFileStat::sf_mtime(void) const WY__TSPC(){ return _stt.st_mtime;};bool WyFileStat::is_dir(void) const WY__TSPC(){ return S_ISDIR(_stt.st_mode);};bool WyFileStat::is_chr(void) const WY__TSPC(){ return S_ISCHR(_stt.st_mode);};bool WyFileStat::is_blk(void) const WY__TSPC(){ return S_ISBLK(_stt.st_mode); };bool WyFileStat::is_reg(void) const WY__TSPC(){ return S_ISREG(_stt.st_mode);};bool WyFileStat::is_fifo(void) const WY__TSPC(){ return S_ISFIFO(_stt.st_mode);};bool WyFileStat::is_lnk(void) const WY__TSPC(){ return S_ISLNK(_stt.st_mode);};bool WyFileStat::is_sock(void) const WY__TSPC(){ return S_ISSOCK(_stt.st_mode);};bool WyFileStat::operator ==(const WyFileStat& rhs) const WY__TSPC(){ if((_stt.st_mode==rhs._stt.st_mode)&&    (_stt.st_ino==rhs._stt.st_ino)&&    (_stt.st_dev==rhs._stt.st_dev)&&    (_stt.st_nlink==rhs._stt.st_nlink)&&    (_stt.st_uid==rhs._stt.st_uid)&&    (_stt.st_gid==rhs._stt.st_gid)&&    (_stt.st_size==rhs._stt.st_size)&&    (_stt.st_rdev==rhs._stt.st_rdev)&&    (_stt.st_blksize==rhs._stt.st_blksize)&&    (_stt.st_blocks==rhs._stt.st_blocks)&&    (_stt.st_atime==rhs._stt.st_atime)&&    (_stt.st_ctime==rhs._stt.st_ctime)&&    (_stt.st_mtime==rhs._stt.st_mtime)) {   return(true); } return(false);};bool WyFileStat::operator !=(const WyFileStat& rhs) const WY__TSPC(){ return !operator==(rhs);};struct stat* WyFileStat::wy_stat_ptr(void) WY__NOTHROW__{ return &_stt;};//----------------------WyRet Wy::stat(const char* filename, WyFileStat& stt){ if(wyc_stat(filename, stt.wy_stat_ptr())==-1) {   WY_RETURN(errno); } return(Ok);};WyRet Wy::stat(const WyStr& filename, WyFileStat& stt){ if(wyc_stat(filename.c_str(), stt.wy_stat_ptr())!=0) {   WY_RETURN(errno); } return(Ok);};WyRet Wy::lstat(const char* filename, WyFileStat& stt){ if(::lstat(filename, stt.wy_stat_ptr())!=0) {   WY_RETURN(errno); } return(Ok);};WyRet Wy::lstat(const WyStr& filename, WyFileStat& stt){ if(::lstat(filename.c_str(), stt.wy_stat_ptr())!=0) {   WY_RETURN(errno); } return(Ok);};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -