fastdo  0.6.8
winux 命名空间参考

跨平台基础功能库 更多...

struct  $a
 Mixed构造数组辅助类 更多...
 
struct  $c
 Mixed构造集合辅助类 更多...
 
struct  Allocator
 构造分配器 更多...
 
class  ArrayAssigner
 Array赋值器 更多...
 
struct  Bin0
 二进制数,编译时计算, 0开头(基于8进制) 更多...
 
struct  Bin0< 0 >
 
class  BlockInFile
 分块输入文件 更多...
 
class  BlockOutFile
 分块输出文件 更多...
 
class  Buffer
 缓冲区,表示内存中一块二进制数据(利用malloc/realloc进行内存分配) 更多...
 
class  CommandLineVars
 命令行变量解析器 更多...
 
class  Condition
 条件变量 更多...
 
class  ConditionAttr
 条件变量属性 更多...
 
class  Configure
 配置文件类 更多...
 
class  ConfigureSettings
 更强大的配置文件类 更多...
 
class  ConsoleAttr
 
class  ConsoleAttrT
 
class  ConsoleOuputMutexScopeGuard
 
class  Conv
 字符串编码转换 更多...
 
class  ConvFrom
 指定编码转到本地编码 更多...
 
class  ConvTo
 本地编码转到指定编码 更多...
 
class  CsvReader
 CSV文件读取器 更多...
 
class  CsvWriter
 CSV文件写入器 更多...
 
class  DateTimeL
 本地日期时间。L意思'local',不包含时区信息 更多...
 
struct  Deallocator
 析构释放器 更多...
 
class  DirIterator
 目录文件枚举器 更多...
 
class  DllLoader
 DLL动态载入器 更多...
 
class  DllLoaderError
 Dll加载器错误 更多...
 
class  Error
 错误类 更多...
 
class  File
 文件操作类 更多...
 
class  FileSysError
 文件系统错误类 更多...
 
struct  FuncTraits
 函数特征 更多...
 
struct  FuncTraits< _RetType __cdecl(_ArgTypes...) >
 
struct  FuncTraits< _RetType __fastcall(_ArgTypes...) >
 
struct  FuncTraits< _RetType __stdcall(_ArgTypes...) >
 
struct  FuncTraits< _RetType(__cdecl *)(_ArgTypes...) >
 
struct  FuncTraits< _RetType(__fastcall *)(_ArgTypes...) >
 
struct  FuncTraits< _RetType(__stdcall *)(_ArgTypes...) >
 
struct  FuncTraits< _RetType(_Cls::*)(_ArgTypes...) >
 
struct  FuncTraits< _RetType(_Cls::*)(_ArgTypes...) const >
 
struct  FuncTraits< _RetType(_Cls::*)(_ArgTypes...) const volatile >
 
struct  FuncTraits< _RetType(_Cls::*)(_ArgTypes...) volatile >
 
struct  FuncTraits< std::function< _RetType __cdecl(_ArgTypes...) > >
 
struct  FuncTraits< std::function< _RetType __fastcall(_ArgTypes...) > >
 
struct  FuncTraits< std::function< _RetType __stdcall(_ArgTypes...) > >
 
struct  FuncWrapper
 函数包装,用来将不同调用约定的函数统一包装成默认约定 更多...
 
class  GrowBuffer
 高效的可增长缓冲区,1.33倍冗余量 更多...
 
struct  IFile
 文件接口 更多...
 
class  ILockObj
 同步锁对象接口 更多...
 
struct  IndexSequence
 Tuple参数序列 更多...
 
class  Invoker
 Invoker模板 更多...
 
class  Invoker< _Fx, typename std::enable_if< !std::is_same< typename winux::FuncTraits< _Fx >::ClassType, void >::value, typename winux::FuncTraits< _Fx >::ClassType >::type, void >
 
class  Invoker< _Fx, void, typename std::enable_if< !std::is_same< typename winux::FuncTraits< _Fx >::ReturnType, void >::value, typename winux::FuncTraits< _Fx >::ReturnType >::type >
 
class  Invoker< _Fx, void, void >
 
struct  Literal
 
struct  Literal< char >
 
struct  Literal< char16_t >
 
struct  Literal< char32_t >
 
struct  Literal< wchar_t >
 
class  Locale
 设置locale信息 更多...
 
struct  MakeIndexSequence
 
struct  MakeIndexSequence< 0, IndexSequence< _Index... > >
 
struct  MakeIndexSequence< _Num, IndexSequence< _Index... > >
 
class  MapAssigner
 MAP赋值器 更多...
 
class  MD5
 
class  MembersWrapper
 成员包装 更多...
 
class  Mixed
 混合体,能表示多种类型的值 更多...
 
class  MixedError
 混合体错误 更多...
 
class  MultiMatch
 KMP多项匹配/替换 更多...
 
class  Mutex
 互斥量 更多...
 
class  MutexAttr
 互斥量属性 更多...
 
class  MutexLockObj
 互斥锁 更多...
 
class  RecursiveMutex
 递归锁 更多...
 
class  RefParam
 
class  Runable
 Runable模板 更多...
 
class  RunableInvoker
 
class  RunableT
 
class  RunableT< _Fx, _TargetTuple, void >
 
class  ScopeGuard
 作用域范围保护 更多...
 
class  SharedCustomDeleterContext
 Shared自定义删除器场景 更多...
 
class  SharedDefaultDeleterContext
 Shared默认删除器场景 更多...
 
class  SharedDeleterContext
 Shared删除器场景基类 更多...
 
class  SharedHandle
 引用计数共享句柄,管理各种资源的自动释放 更多...
 
class  SharedMemory
 共享内存,可以跨进程访问。常用于进程间通讯 更多...
 
class  SharedMemoryT
 共享内存(POD类型数据)类模板 更多...
 
class  SharedPointer
 
class  SimpleCustomDeleterContext
 Simple自定义删除器场景 更多...
 
class  SimpleDefaultDeleterContext
 Simple默认删除器场景 更多...
 
class  SimpleDeleterContext
 Simple删除器场景基类 更多...
 
class  SimpleHandle
 简单句柄类,管理各种资源的自动释放,赋值相当于传递管理权。 更多...
 
class  SimplePointer
 简单指针 更多...
 
class  SystemError
 系统相关错误 更多...
 
class  SZInput
 填充based-zero字符串缓冲区包装类 更多...
 
class  Task
 代表投递到线程池的一个任务,用于等待执行完毕获取返回值或者接着投递下一个任务 更多...
 
struct  TaskCtx
 任务数据场景 更多...
 
struct  TaskCtxT
 
struct  TaskCtxT< void >
 
class  TextArchive
 文本文档类。可载入文本文件自动识别BOM文件编码,转换为指定编码。
更多...
 
class  Thread
 线程 更多...
 
class  ThreadAttr
 线程属性 更多...
 
class  ThreadGroup
 线程组 更多...
 
class  ThreadId
 线程ID 更多...
 
class  ThreadPool
 线程池,创建一组线程等待着从任务队列中获取任务执行 更多...
 
class  ThreadSysError
 线程相关错误 更多...
 
class  TlsKey
 TLS Key. 更多...
 
class  TlsVar
 TLS Var. 更多...
 
class  Unzip
 ZIP解压缩 更多...
 
class  WeakHandle
 弱句柄 更多...
 
class  WeakPointer
 弱指针 更多...
 
class  XStringWriter
 用来使得String能够用operator<<来赋值 更多...
 
class  Zip
 ZIP压缩 更多...
 

类型定义

typedef winux::ulong ZRESULT
 
using StringWriter = XStringWriter< tchar >
 
using AnsiStringWriter = XStringWriter< char >
 
using UnicodeStringWriter = XStringWriter< wchar >
 
typedef int HPipe
 
typedef pid_t HProcess
 
typedef int int32
 
typedef unsigned int uint
 
typedef unsigned int uint32
 
typedef unsigned long ulong
 
typedef short int16
 
typedef unsigned short ushort
 
typedef unsigned short uint16
 
typedef char int8
 
typedef unsigned char uint8
 
typedef char16_t char16
 
typedef char32_t char32
 
typedef intptr_t offset_t
 
typedef intptr_t ssize_t
 
typedef size_t usize_t
 
typedef wchar_t wchar
 
typedef unsigned __int64 uint64
 
typedef unsigned __int64 ulonglong
 
typedef __int64 int64
 
typedef __int64 longlong
 
typedef char tchar
 
typedef unsigned char byte
 
template<typename _ChTy >
using XString = std::basic_string< _ChTy >
 
typedef XString< char > AnsiString
 
typedef XString< char > Utf8String
 
typedef XString< wcharUnicodeString
 
typedef XString< char16UnicodeString16
 
typedef XString< char16Utf16String
 
typedef XString< char32UnicodeString32
 
typedef XString< char32Utf32String
 
typedef XString< tcharString
 
template<typename _ChTy >
using XStringArray = std::vector< XString< _ChTy > >
 
typedef XStringArray< char > AnsiStringArray
 
typedef XStringArray< char > Utf8StringArray
 
typedef XStringArray< wcharUnicodeStringArray
 
typedef XStringArray< char16UnicodeString16Array
 
typedef XStringArray< char32UnicodeString32Array
 
typedef XStringArray< char16Utf16StringArray
 
typedef XStringArray< char32Utf32StringArray
 
typedef XStringArray< tcharStringArray
 
typedef std::map< String, StringStringStringMap
 
typedef std::pair< String, StringStringStringPair
 
typedef std::vector< MixedMixedArray
 
typedef std::map< String, MixedStringMixedMap
 
typedef std::pair< String, MixedStringMixedPair
 

枚举

enum  ConsoleColorAttrFlags : winux::ushort {
  fgBlack = 0, fgNavy = 1, fgAtrovirens = 2, fgTeal = 3,
  fgMaroon = 4, fgPurple = 5, fgOlive = 6, fgSilver = 7,
  fgGray = 8, fgIntensity = fgGray, fgBlue = 9, fgGreen = 10,
  fgAqua = 11, fgRed = 12, fgFuchsia = 13, fgYellow = 14,
  fgWhite = 15, bgNavy = 0x0100, bgAtrovirens = 0x0200, bgTeal = 0x0300,
  bgMaroon = 0x0400, bgPurple = 0x0500, bgOlive = 0x0600, bgSilver = 0x0700,
  bgBlack = 0x0800, bgWhite = 0x0000, bgGray = bgSilver, bgBlue = bgNavy,
  bgGreen = bgAtrovirens, bgAqua = bgTeal, bgRed = bgMaroon, bgFuchsia = bgPurple,
  bgYellow = bgOlive
}
 颜色属性标记 更多...
 
enum  EncryptErrorCode { ERR_SUCCEED, ERR_DATASIZE, ERR_BUFFSIZE }
 内容加密错误代码 更多...
 
enum  StrToXqFlags { stqUnsigned = 1, stqNegative = 2, stqOverflow = 4, stqReadDigit = 8 }
 字符串转换成数字Flags 更多...
 
enum  CollateIdentifierStringFlag : winux::uint {
  wordRaw = 0x00, wordAllUpper = 0x01, wordAllLower = 0x02, wordFirstCharUpper = 0x04,
  nameSmallHump = 0x10
}
 整理标识符串的标记 更多...
 

函数

template<typename _VarType >
std::ostream & operator<< (std::ostream &o, ConsoleAttrT< _VarType > const &tr)
 
template<typename _VarType >
std::istream & operator>> (std::istream &in, ConsoleAttrT< _VarType > const &tr)
 
template<typename _VarType >
ConsoleAttrT< _VarType > ConsoleColor (winux::ushort attr, _VarType const &v, bool isSetBgColor=false)
 
static void OutputV ()
 
template<typename _Ty , typename... _ArgType>
static void OutputV (_Ty &&a, _ArgType &&...arg)
 
template<typename... _ArgType>
static void ColorOutputLine (winux::ConsoleAttr const &ca, _ArgType &&...arg)
 
template<typename... _ArgType>
static void ColorOutput (winux::ConsoleAttr const &ca, _ArgType &&...arg)
 
String UrlEncode (String const &str)
 URL编码 更多...
 
String UrlDecode (String const &str)
 URL解码,与UrlEncode()配套 更多...
 
String UriComponentEncode (String const &str)
 URI组成部分编码,遵循RFC1738. 更多...
 
String UriComponentDecode (String const &str)
 URI组成部分解码,与UriComponentEncode()配套 更多...
 
String HtmlEncode (String const &str)
 HTML编码 作用字符:'&', '<', '>', ' '. 更多...
 
String HtmlDecode (String const &str)
 HTML解码,与HtmlEncode()配套 更多...
 
String Base64Encode (void const *buf, size_t size)
 Base64编码 更多...
 
String Base64Encode (AnsiString const &data)
 Base64编码 更多...
 
String Base64Encode (Buffer const &buf)
 Base64编码 更多...
 
AnsiString Base64Decode (String const &base64Str)
 Base64解码,与Base64Encode()配套 更多...
 
String Md5Hex (void const *buf, size_t size)
 将数据进行md5编码,返回16进制数字符串 更多...
 
String Md5Hex (Buffer const &buf)
 将数据进行md5编码,返回16进制数字符串 更多...
 
String Sha1Hex (void const *buf, size_t size)
 将数据进行sha1编码,返回16进制数字符串 更多...
 
String Sha1Hex (Buffer const &buf)
 将数据进行sha1编码,返回16进制数字符串 更多...
 
Buffer Sha1 (void const *buf, size_t size)
 将数据进行sha1编码,返回二进制数据 更多...
 
Buffer Sha1 (Buffer const &buf)
 将数据进行sha1编码,返回二进制数据 更多...
 
int RawEncrypt (byte const *data, size_t dataSize, byte *buf, size_t bufSize, size_t *outSize)
 未进行C++包装的内容加密 更多...
 
int RawDecrypt (byte const *encryptData, size_t dataSize, byte *buf, size_t bufSize, size_t *outSize)
 未进行C++包装的内容解密,与RawEncrypt()配套 更多...
 
AnsiString EncryptContent (AnsiString const &content)
 内容加密 更多...
 
Buffer EncryptContent (Buffer const &content)
 内容加密 更多...
 
AnsiString DecryptContent (AnsiString const &encryptContent)
 内容解密,与EncryptContent()配套 更多...
 
Buffer DecryptContent (Buffer const &encryptContent)
 内容解密,与EncryptContent()配套 更多...
 
String GetExecutablePath (void)
 获取可执行文件的全路径 更多...
 
String FilePath (String const &fullPath, String *fileName=NULL)
 获取路径名(末尾不含目录分隔符) 更多...
 
String FileTitle (String const &fileName, String *extName=NULL)
 获取文件标题 更多...
 
bool IsAbsPath (String const &path)
 判断是否为绝对路径 更多...
 
String NormalizePath (String const &path)
 使路径规则化(末尾不带路径分割符) 更多...
 
String RealPath (String const &path)
 根据当前工作目录计算绝对路径,不会检查存在性 更多...
 
String RealPathEx (String const &path, String const &workDirAbsPath)
 根据指定工作目录计算绝对路径,不会检查存在性 更多...
 
String GetCurrentDir (void)
 返回当前工作目录(末尾不含目录分隔符) 更多...
 
bool SetCurrentDir (String const &path)
 设置当前工作目录 更多...
 
bool IsDir (String const &path)
 判断是否是一个目录 更多...
 
bool DetectPath (String const &path, bool *isDir=NULL)
 探测一个路径是存在还是不存在,是目录还是文件 更多...
 
ulong FileSize (String const &filename)
 获取文件大小 更多...
 
uint64 FileSize64 (String const &filename)
 获取文件大小(大于4GB的文件) 更多...
 
bool FileTime (String const &filename, time_t *ctime, time_t *mtime, time_t *atime)
 获取文件时间 更多...
 
time_t FileCTime (String const &filename)
 获取文件创建时间 更多...
 
time_t FileMTime (String const &filename)
 获取文件修改时间 更多...
 
time_t FileATime (String const &filename)
 获取文件访问时间 更多...
 
bool FileTouch (String const &filename, time_t time=(time_t)-1, time_t atime=(time_t)-1)
 更新文件修改时间,访问时间 更多...
 
String PathWithSep (String const &path)
 路径分隔符整理 更多...
 
String PathNoSep (String const &path)
 
StringPathWithSep (String *path)
 
StringPathNoSep (String *path)
 
String CombinePath (String const &dirPath, String const &fileName)
 把一个目录路径和一个文件名组合成一个新路径 更多...
 
void FolderData (String const &path, StringArray *fileArr, StringArray *subFolderArr, int sortType=0)
 获取文件夹中的文件和子文件夹。sortType:0结果不排序 1正序 2反序 更多...
 
size_t EnumFiles (String const &path, Mixed const &ext, StringArray *arrFiles, bool isRecursive=false)
 在指定路径下枚举指定扩展名的文件 更多...
 
size_t CommonDelete (String const &path)
 通用删除,删除文件夹和文件,返回删除的文件夹和文件数 更多...
 
bool MakeDirExists (String const &path, int mode=0755)
 确保目录路径的存在性,如果不存在则创建。 更多...
 
AnsiString FileGetContents (String const &filename, bool textMode=true)
 载入文件内容为一个AnsiString,textMode表示是否为文本模式 更多...
 
Buffer FileGetContentsEx (String const &filename, bool textMode)
 载入文件内容为一个Buffer,textMode表示是否为文本模式 更多...
 
bool FilePutContents (String const &filename, AnsiString const &content, bool textMode=true)
 把AnsiString内容写入文件,textMode表示是否为文本模式 更多...
 
bool FilePutContentsEx (String const &filename, Buffer const &content, bool textMode)
 把Buffer内容写入文件,textMode表示是否为文本模式 更多...
 
void WriteLog (String const &s)
 日志 更多...
 
void WriteBinLog (void const *data, size_t size)
 二进制日志 更多...
 
bool JsonSetByteOrderForUtf16 (bool isLittleEndian)
 设置字节序。此字节序是解析时,存储编码数字的字节序。默认小端序。 更多...
 
String JsonSetConvertToCharsetForUtf16 (String const &charset)
 设置转换到的字符集编码。此表示解析时,转换成什么编码。默认为空串,即本地编码。 更多...
 
bool JsonParse (String const &json, Mixed *val)
 Json解析成Mixed. 更多...
 
Mixed Json (String const &json)
 Json解析成Mixed. 更多...
 
AnsiString MixedToJsonA (Mixed const &v, bool autoKeyQuotes)
 
UnicodeString MixedToJsonW (Mixed const &v, bool autoKeyQuotes)
 
AnsiString MixedToJson (Mixed const &v, bool autoKeyQuotes)
 Mixed输出成Json. 更多...
 
AnsiString MixedToJsonExA (Mixed const &v, bool autoKeyQuotes, AnsiString const &spacer="", AnsiString const &newline="")
 
UnicodeString MixedToJsonExW (Mixed const &v, bool autoKeyQuotes, UnicodeString const &spacer=L"", UnicodeString const &newline=L"")
 
AnsiString MixedToJsonEx (Mixed const &v, bool autoKeyQuotes, AnsiString const &spacer="", AnsiString const &newline="")
 Mixed输出成Json,支持结构化。 更多...
 
long LongAtomicIncrement (long volatile *p)
 原子化使一个Long型变量+1,返回值是+1后的*p值 更多...
 
long LongAtomicDecrement (long volatile *p)
 原子化使一个Long型变量-1,返回值是-1后的*p值 更多...
 
long LongAtomicCompareExchange (long volatile *p, long exchange, long comparand)
 原子化操作,*p若和comparand相等,就把*p赋成exchange,返回值是初始的*p值 更多...
 
template<typename _Ty >
SimplePointer< _Ty > MakeSimple (_Ty *newObj)
 
template<typename _Ty , typename _Dt >
SimplePointer< _Ty > MakeSimple (_Ty *newObj, _Dt dt)
 
template<typename _Ty >
SharedPointer< _Ty > MakeShared (_Ty *newObj)
 
template<typename _Ty , typename _Dt >
SharedPointer< _Ty > MakeShared (_Ty *newObj, _Dt dt)
 
size_t StrSplitA (AnsiString const &str, AnsiString const &delimList, AnsiStringArray *arr, bool alwaysRetOneElem=false)
 
size_t StrSplitW (UnicodeString const &str, UnicodeString const &delimList, UnicodeStringArray *arr, bool alwaysRetOneElem=false)
 
size_t StrSplit (AnsiString const &str, AnsiString const &delimList, AnsiStringArray *arr, bool alwaysRetOneElem=false)
 字符串分割 更多...
 
size_t StrSplit2A (AnsiString const &str, AnsiString const &delim, AnsiStringArray *arr, bool alwaysRetOneElem=false)
 
size_t StrSplit2W (UnicodeString const &str, UnicodeString const &delim, UnicodeStringArray *arr, bool alwaysRetOneElem=false)
 
size_t StrSplit2 (AnsiString const &str, AnsiString const &delim, AnsiStringArray *arr, bool alwaysRetOneElem=false)
 字符串分割2 更多...
 
AnsiString StrJoinA (AnsiString const &delim, AnsiStringArray const &arr)
 
UnicodeString StrJoinW (UnicodeString const &delim, UnicodeStringArray const &arr)
 
AnsiString StrJoin (AnsiString const &delim, AnsiStringArray const &arr)
 字符串组合连接 更多...
 
AnsiString StrJoinExA (AnsiString const &delim, AnsiStringArray const &arr, size_t start=0, size_t elemCount=-1)
 
UnicodeString StrJoinExW (UnicodeString const &delim, UnicodeStringArray const &arr, size_t start=0, size_t elemCount=-1)
 
AnsiString StrJoinEx (AnsiString const &delim, AnsiStringArray const &arr, size_t start=0, size_t elemCount=-1)
 字符串组合连接。start表示开始位置,elemCount表示自开始位置的元素数,默认-1表示自开始位置的全部元素 更多...
 
AnsiString StrInsertA (AnsiString const &str, size_t start, size_t end, AnsiString const &insert)
 
UnicodeString StrInsertW (UnicodeString const &str, size_t start, size_t end, UnicodeString const &insert)
 
AnsiString StrInsert (AnsiString const &str, size_t start, size_t end, AnsiString const &insert)
 在指定位置插入字符串 更多...
 
AnsiStringStrMakeReplaceA (AnsiString *str, AnsiString const &findText, AnsiString const &replaceText, size_t offset=0)
 
UnicodeStringStrMakeReplaceW (UnicodeString *str, UnicodeString const &findText, UnicodeString const &replaceText, size_t offset=0)
 
AnsiStringStrMakeReplace (AnsiString *str, AnsiString const &findText, AnsiString const &replaceText, size_t offset=0)
 使字符串全文替换 更多...
 
AnsiString StrTrimA (AnsiString const &str)
 
UnicodeString StrTrimW (UnicodeString const &str)
 
AnsiString StrTrim (AnsiString const &str)
 祛除字符串首尾出现的空白字符 更多...
 
AnsiStringStrMakeUpperA (AnsiString *str)
 
UnicodeStringStrMakeUpperW (UnicodeString *str)
 
AnsiStringStrMakeUpper (AnsiString *str)
 使字符串大写 更多...
 
AnsiString StrUpperA (AnsiString str)
 
UnicodeString StrUpperW (UnicodeString str)
 
AnsiString StrUpper (AnsiString str)
 使字符串大写 更多...
 
AnsiStringStrMakeLowerA (AnsiString *str)
 
UnicodeStringStrMakeLowerW (UnicodeString *str)
 
AnsiStringStrMakeLower (AnsiString *str)
 使字符串小写 更多...
 
AnsiString StrLowerA (AnsiString str)
 
UnicodeString StrLowerW (UnicodeString str)
 
AnsiString StrLower (AnsiString str)
 使字符串小写 更多...
 
AnsiString StrMultipleA (AnsiString const &str, int multiple)
 
UnicodeString StrMultipleW (UnicodeString const &str, int multiple)
 
AnsiString StrMultiple (AnsiString const &str, int multiple)
 字符串倍数的出现 更多...
 
AnsiString StrSubtractA (AnsiString str1, AnsiString const &str2)
 
UnicodeString StrSubtractW (UnicodeString str1, UnicodeString const &str2)
 
AnsiString StrSubtract (AnsiString str1, AnsiString const &str2)
 字符串相减,str1 - str2,即去掉str1里与str2相同的部分。限制:str1 >= str2。 更多...
 
uint64 StrToXqA (char const *nptr, char const **endptr, int ibase, int flags)
 
uint64 StrToXqW (wchar const *nptr, wchar const **endptr, int ibase, int flags)
 
uint64 StrToXq (char const *nptr, char const **endptr, int ibase, int flags)
 字符串转换成64位的数字 更多...
 
uint64 StrToXqU16 (char16 const *nptr, char16 const **endptr, int ibase, int flags)
 
uint64 StrToXqU32 (char32 const *nptr, char32 const **endptr, int ibase, int flags)
 
int64 StrToInt64A (AnsiString const &numStr, int ibase)
 
int64 StrToInt64W (UnicodeString const &numStr, int ibase)
 
int64 StrToInt64 (AnsiString const &numStr, int ibase)
 
uint64 StrToUint64A (AnsiString const &numStr, int ibase)
 
uint64 StrToUint64W (UnicodeString const &numStr, int ibase)
 
uint64 StrToUint64 (AnsiString const &numStr, int ibase)
 
AnsiString AddSlashesA (AnsiString const &str, AnsiString const &charlist)
 
UnicodeString AddSlashesW (UnicodeString const &str, UnicodeString const &charlist)
 
AnsiString AddSlashes (AnsiString const &str, AnsiString const &charlist)
 加反斜杠 更多...
 
AnsiString AddCSlashesA (AnsiString const &str)
 
UnicodeString AddCSlashesW (UnicodeString const &str)
 
AnsiString AddCSlashes (AnsiString const &str)
 加C-Style反斜杠 更多...
 
AnsiString StripSlashesA (AnsiString const &str, AnsiString const &charlist)
 
UnicodeString StripSlashesW (UnicodeString const &str, UnicodeString const &charlist)
 
AnsiString StripSlashes (AnsiString const &str, AnsiString const &charlist)
 去掉反斜杠 更多...
 
AnsiString StripCSlashesA (AnsiString const &str)
 
UnicodeString StripCSlashesW (UnicodeString const &str)
 
AnsiString StripCSlashes (AnsiString const &str)
 去掉C-Style反斜杠 更多...
 
AnsiString AddQuotesA (AnsiString const &str, AnsiString::value_type quote=Literal< AnsiString::value_type >::quoteChar)
 
UnicodeString AddQuotesW (UnicodeString const &str, UnicodeString::value_type quote=Literal< UnicodeString::value_type >::quoteChar)
 
AnsiString AddQuotes (AnsiString const &str, AnsiString::value_type quote=Literal< AnsiString::value_type >::quoteChar)
 double引号 更多...
 
bool StrGetLineA (AnsiString *line, AnsiString const &str, size_t *i, AnsiString *nl=nullptr)
 
bool StrGetLineW (UnicodeString *line, UnicodeString const &str, size_t *i, UnicodeString *nl=nullptr)
 
bool StrGetLine (AnsiString *line, AnsiString const &str, size_t *i, AnsiString *nl=nullptr)
 获取字符串中的一行,支持unix,windows,mac平台的行分隔方式
line 不包含换行符,i 指示起始位置,并获得处理到哪个位置。 更多...
 
AnsiString CollateIdentifierToStringA (AnsiString const &identifier, AnsiString const &sep, winux::uint flags=wordFirstCharUpper)
 
UnicodeString CollateIdentifierToStringW (UnicodeString const &identifier, UnicodeString const &sep, winux::uint flags=wordFirstCharUpper)
 
AnsiString CollateIdentifierToString (AnsiString const &identifier, AnsiString const &sep, winux::uint flags=wordFirstCharUpper)
 整理标识符为字符串 更多...
 
AnsiStringArray CollateIdentifierToArrayA (AnsiString const &identifier, winux::uint flags=wordFirstCharUpper)
 
UnicodeStringArray CollateIdentifierToArrayW (UnicodeString const &identifier, winux::uint flags=wordFirstCharUpper)
 
AnsiStringArray CollateIdentifierToArray (AnsiString const &identifier, winux::uint flags=wordFirstCharUpper)
 整理标识符为单词数组 更多...
 
template<typename _IndexType , typename _ChTy >
static std::vector< _IndexType > _Templ_KmpCalcNext (_ChTy const *substr, size_t sublen)
 KMP匹配算法:求子串next值 更多...
 
template<typename _IndexType , typename _ChTy >
static size_t _Templ_KmpMatchEx (_ChTy const *str, size_t len, _ChTy const *substr, size_t sublen, size_t pos, std::vector< _IndexType > const &next)
 KMP匹配算法:传入已经求好的next进行匹配 更多...
 
template<typename _IndexType , typename _ChTy >
static size_t _Templ_KmpMatch (_ChTy const *str, size_t len, _ChTy const *substr, size_t sublen, size_t pos)
 KMP匹配算法:匹配 更多...
 
std::vector< int > KmpCalcNext (char const *substr, size_t sublen)
 KMP字符串匹配算法:求子串next值 更多...
 
size_t KmpMatchEx (char const *str, size_t len, char const *substr, size_t sublen, size_t pos, std::vector< int > const &next)
 KMP字符串匹配算法:传入已经求好的next进行匹配 更多...
 
size_t KmpMatch (char const *str, size_t len, char const *substr, size_t sublen, size_t pos)
 KMP字符串匹配算法:匹配 更多...
 
size_t LocalCharsCount (AnsiString const &local)
 返回一个本地字符串里有多少个实际的字符(by local CodePage),用于mbstowcs 更多...
 
size_t UnicodeMinLength (UnicodeString const &unicode)
 返回一个unicode字符串转换为多字节字符串最少需要多少字节(by local CodePage),用于wcstombs 更多...
 
AnsiString UnicodeToLocal (UnicodeString const &unicode)
 Unicode转换到本地Ansi. 更多...
 
UnicodeString LocalToUnicode (AnsiString const &local)
 本地Ansi转到Unicode 更多...
 
String LocalToString (AnsiString const &local)
 兼容字符串与Unicode、Local字符串相互转换 更多...
 
String UnicodeToString (UnicodeString const &unicode)
 兼容字符串与Unicode、Local字符串相互转换 更多...
 
AnsiString StringToLocal (String const &str)
 兼容字符串与Unicode、Local字符串相互转换 更多...
 
UnicodeString StringToUnicode (String const &str)
 兼容字符串与Unicode、Local字符串相互转换 更多...
 
AnsiString FormatExVA (size_t cch, char const *fmt, va_list args)
 
UnicodeString FormatExVW (size_t cch, wchar const *fmt, va_list args)
 
AnsiString FormatExA (size_t cch, char const *fmt,...)
 
UnicodeString FormatExW (size_t cch, wchar const *fmt,...)
 
AnsiString FormatA (char const *fmt,...)
 
UnicodeString FormatW (wchar const *fmt,...)
 
AnsiString FormatExV (size_t cch, char const *fmt, va_list args)
 格式化字符串0 更多...
 
AnsiString FormatEx (size_t cch, char const *fmt,...)
 格式化字符串1 更多...
 
AnsiString Format (char const *fmt,...)
 格式化字符串2 更多...
 
template<typename _CHAR , uint _N>
SZInput SZ (_CHAR(&sz)[_N])
 
AnsiString LocalFromUtf8 (AnsiString const &str)
 从utf-8转到本地编码 更多...
 
AnsiString LocalToUtf8 (AnsiString const &str)
 从本地编码转到utf-8 更多...
 
size_t CommandLineToArgvA (AnsiString const &cmd, AnsiStringArray *argv)
 
size_t CommandLineToArgvW (UnicodeString const &cmd, UnicodeStringArray *argv)
 
size_t CommandLineToArgv (AnsiString const &cmd, AnsiStringArray *argv)
 把命令行解析成Argv数组。不支持命令行& && | || 更多...
 
HProcess ExecCommandEx (String const &cmd, HPipe *hStdinWritePipe, HPipe *hStdoutReadPipe, HPipe *hStderrReadPipe=NULL, bool closeStdinIfStdinWritePipeIsNull=true)
 新建子进程执行指定命令,并用管道重定向了标准设备 更多...
 
int ExecCommand (String const &cmd, String const &stdinStr, String *stdoutStr, String *stderrStr=NULL, bool closeStdinIfStdinStrEmpty=true)
 新建子进程执行指定命令,等待子进程结束,并把字符串重定向了标准设备 更多...
 
String GetExec (String const &cmd, String const &stdinStr="", String *stderrStr=NULL, bool closeStdinIfStdinStrEmpty=true)
 执行命令,返回标准输出内容 更多...
 
std::ostream & operator<< (std::ostream &o, DateTimeL const &dt)
 
uint64 GetUtcTimeMs (void)
 获取UTC时间毫秒数,UTC秒数可以直接除以1000,或者调用CRT的time(NULL) 更多...
 
uint64 GetUtcTimeUs (void)
 获取UTC时间微秒数,UTC秒数可以直接除以1000000,或者调用CRT的time(NULL) 更多...
 
time_t GetUtcTime (void)
 获取UTC时间秒数,或者调用CRT的time(NULL) 更多...
 
template<typename _Ty >
static constexpr _Ty InvertByteOrder (_Ty v)
 反转字节序 更多...
 
static bool IsLittleEndian ()
 判断编译环境是否为小端序 更多...
 
static bool IsBigEndian ()
 判断编译环境是否为大端序 更多...
 
template<typename _MAP , typename _KEY >
bool isset (_MAP const &m, _KEY const &k)
 检测map中是否有该键的值 更多...
 
template<typename _Ty >
std::vector< _Ty > ToArray (_Ty *arr, uint count)
 将C数组转换成vector 更多...
 
template<typename _Ty , uint _N>
std::vector< _Ty > ToArray (_Ty(&arr)[_N])
 
template<typename _Fx , typename... _ArgType>
int VoidReturnInt (_Fx fn, _ArgType &&...arg)
 调用一个返回void的函数或函数对象,返回一个数字 更多...
 
template<typename _Ty >
RefParam< _Ty > Ref (_Ty &r)
 向模板参数传递引用型参数 更多...
 
template<typename _Fx , typename... _ArgType>
RunableT< _Fx, std::tuple< typename std::decay< _ArgType >::type... > > * NewRunable (_Fx fn, _ArgType &&...arg)
 创建一个Runable对象 更多...
 
template<typename _Fx , typename... _ArgType>
Invoker< _Fx > * NewInvoker (_Fx fn, _ArgType &&...arg)
 
template<typename _KTy , typename _VTy >
MapAssigner< _KTy, _VTy > Assign (std::map< _KTy, _VTy > *m)
 给容器赋值 更多...
 
template<typename _Ty >
ArrayAssigner< _Ty > Assign (std::vector< _Ty > *a)
 给容器赋值 更多...
 
bool ValueIsInArray (StringArray const &arr, String const &val, bool caseInsensitive=false)
 判断一个字符串值是否在一个字符串数组里,默认大小写敏感 更多...
 
int Random (int n1, int n2)
 随机数,随机产生n1~n2的数字. 包括n1,n2本身 更多...
 
std::ostream & operator<< (std::ostream &o, Mixed const &m)
 扩展iostream的<< 更多...
 
std::wostream & operator<< (std::wostream &o, Mixed const &m)
 

变量

char const * __TerminalFgColorAttrs []
 
char const * __TerminalBgColorAttrs []
 
String const DirSep = "\\"
 目录分割符 更多...
 
String const LineSep = "\r\n"
 行分割符 更多...
 
String const PathEnvSep = ";"
 PATH环境变量路径分割符 更多...
 
static constexpr size_t const npos = static_cast<size_t>(-1)
 非位置,值为-1。 更多...
 

详细描述

跨平台基础功能库

类型定义说明

typedef XString<char> winux::AnsiString

在文件 utilities.hpp212 行定义.

在文件 utilities.hpp221 行定义.

using winux::AnsiStringWriter = typedef XStringWriter<char>

在文件 strings.hpp532 行定义.

typedef unsigned char winux::byte

在文件 utilities.hpp204 行定义.

typedef char16_t winux::char16

在文件 utilities.hpp177 行定义.

typedef char32_t winux::char32

在文件 utilities.hpp178 行定义.

typedef int winux::HPipe

在文件 system.hpp25 行定义.

typedef pid_t winux::HProcess

在文件 system.hpp26 行定义.

typedef short winux::int16

在文件 utilities.hpp172 行定义.

typedef int winux::int32

在文件 utilities.hpp169 行定义.

typedef __int64 winux::int64

在文件 utilities.hpp187 行定义.

typedef char winux::int8

在文件 utilities.hpp174 行定义.

typedef __int64 winux::longlong

在文件 utilities.hpp188 行定义.

typedef std::vector<Mixed> winux::MixedArray

在文件 utilities.hpp232 行定义.

typedef intptr_t winux::offset_t

在文件 utilities.hpp180 行定义.

typedef intptr_t winux::ssize_t

在文件 utilities.hpp180 行定义.

在文件 utilities.hpp216 行定义.

在文件 utilities.hpp227 行定义.

typedef std::map<String, Mixed> winux::StringMixedMap

在文件 utilities.hpp233 行定义.

typedef std::pair<String, Mixed> winux::StringMixedPair

在文件 utilities.hpp234 行定义.

typedef std::map<String, String> winux::StringStringMap

在文件 utilities.hpp229 行定义.

typedef std::pair<String, String> winux::StringStringPair

在文件 utilities.hpp230 行定义.

在文件 strings.hpp531 行定义.

typedef char winux::tchar

在文件 utilities.hpp200 行定义.

typedef unsigned int winux::uint

在文件 utilities.hpp170 行定义.

typedef unsigned short winux::uint16

在文件 utilities.hpp173 行定义.

typedef unsigned int winux::uint32

在文件 utilities.hpp170 行定义.

typedef unsigned __int64 winux::uint64

在文件 utilities.hpp185 行定义.

typedef unsigned char winux::uint8

在文件 utilities.hpp175 行定义.

typedef unsigned long winux::ulong

在文件 utilities.hpp171 行定义.

typedef unsigned __int64 winux::ulonglong

在文件 utilities.hpp186 行定义.

在文件 utilities.hpp213 行定义.

在文件 utilities.hpp214 行定义.

在文件 utilities.hpp215 行定义.

在文件 utilities.hpp222 行定义.

在文件 strings.hpp533 行定义.

typedef unsigned short winux::ushort

在文件 utilities.hpp173 行定义.

typedef size_t winux::usize_t

在文件 utilities.hpp181 行定义.

在文件 utilities.hpp214 行定义.

在文件 utilities.hpp225 行定义.

在文件 utilities.hpp215 行定义.

在文件 utilities.hpp226 行定义.

typedef XString<char> winux::Utf8String

在文件 utilities.hpp212 行定义.

在文件 utilities.hpp221 行定义.

typedef wchar_t winux::wchar

在文件 utilities.hpp184 行定义.

template<typename _ChTy >
using winux::XString = typedef std::basic_string<_ChTy>

在文件 utilities.hpp210 行定义.

template<typename _ChTy >
using winux::XStringArray = typedef std::vector< XString<_ChTy> >

在文件 utilities.hpp219 行定义.

在文件 compress.hpp10 行定义.

枚举类型说明

整理标识符串的标记

枚举值
wordRaw 

不处理单词

wordAllUpper 

单词大写

wordAllLower 

单词小写

wordFirstCharUpper 

首字母大写

nameSmallHump 

小驼峰

在文件 strings.hpp370 行定义.

颜色属性标记

枚举值
fgBlack 
fgNavy 
fgAtrovirens 
fgTeal 
fgMaroon 
fgPurple 
fgOlive 
fgSilver 
fgGray 
fgIntensity 
fgBlue 
fgGreen 
fgAqua 
fgRed 
fgFuchsia 
fgYellow 
fgWhite 
bgNavy 
bgAtrovirens 
bgTeal 
bgMaroon 
bgPurple 
bgOlive 
bgSilver 
bgBlack 
bgWhite 
bgGray 
bgBlue 
bgGreen 
bgAqua 
bgRed 
bgFuchsia 
bgYellow 

在文件 console.hpp13 行定义.

内容加密错误代码

枚举值
ERR_SUCCEED 
ERR_DATASIZE 
ERR_BUFFSIZE 

在文件 encoding.hpp62 行定义.

字符串转换成数字Flags

枚举值
stqUnsigned 

无符号处理

stqNegative 

有解析到负号

stqOverflow 

发生溢出

stqReadDigit 

读到一个正确的数字字符

在文件 strings.hpp263 行定义.

函数说明

template<typename _IndexType , typename _ChTy >
static std::vector<_IndexType> winux::_Templ_KmpCalcNext ( _ChTy const *  substr,
size_t  sublen 
)
inlinestatic

KMP匹配算法:求子串next值

在文件 strings.hpp406 行定义.

template<typename _IndexType , typename _ChTy >
static size_t winux::_Templ_KmpMatch ( _ChTy const *  str,
size_t  len,
_ChTy const *  substr,
size_t  sublen,
size_t  pos 
)
inlinestatic

KMP匹配算法:匹配

在文件 strings.hpp460 行定义.

函数调用图:

template<typename _IndexType , typename _ChTy >
static size_t winux::_Templ_KmpMatchEx ( _ChTy const *  str,
size_t  len,
_ChTy const *  substr,
size_t  sublen,
size_t  pos,
std::vector< _IndexType > const &  next 
)
inlinestatic

KMP匹配算法:传入已经求好的next进行匹配

在文件 strings.hpp432 行定义.

AnsiString winux::AddCSlashes ( AnsiString const &  str)
inline

加C-Style反斜杠

在文件 strings.hpp318 行定义.

函数调用图:

AnsiString winux::AddCSlashesA ( AnsiString const &  str)
inline

在文件 strings.hpp312 行定义.

函数调用图:

UnicodeString winux::AddCSlashesW ( UnicodeString const &  str)
inline

在文件 strings.hpp313 行定义.

函数调用图:

AnsiString winux::AddQuotes ( AnsiString const &  str,
AnsiString::value_type  quote = Literal<AnsiString::value_type>::quoteChar 
)
inline

double引号

在文件 strings.hpp348 行定义.

函数调用图:

AnsiString winux::AddQuotesA ( AnsiString const &  str,
AnsiString::value_type  quote = Literal< AnsiString::value_type >::quoteChar 
)
UnicodeString winux::AddQuotesW ( UnicodeString const &  str,
UnicodeString::value_type  quote = Literal< UnicodeString::value_type >::quoteChar 
)
AnsiString winux::AddSlashes ( AnsiString const &  str,
AnsiString const &  charlist 
)
inline

加反斜杠

在文件 strings.hpp308 行定义.

函数调用图:

AnsiString winux::AddSlashesA ( AnsiString const &  str,
AnsiString const &  charlist 
)
UnicodeString winux::AddSlashesW ( UnicodeString const &  str,
UnicodeString const &  charlist 
)
template<typename _KTy , typename _VTy >
MapAssigner< _KTy, _VTy > winux::Assign ( std::map< _KTy, _VTy > *  m)

给容器赋值

在文件 utilities.hpp399 行定义.

template<typename _Ty >
ArrayAssigner<_Ty> winux::Assign ( std::vector< _Ty > *  a)

给容器赋值

在文件 utilities.hpp406 行定义.

AnsiString winux::Base64Decode ( String const &  base64Str)

Base64解码,与Base64Encode()配套

String winux::Base64Encode ( void const *  buf,
size_t  size 
)

Base64编码

String winux::Base64Encode ( AnsiString const &  data)

Base64编码

String winux::Base64Encode ( Buffer const &  buf)
inline

Base64编码

在文件 encoding.hpp42 行定义.

函数调用图:

AnsiStringArray winux::CollateIdentifierToArray ( AnsiString const &  identifier,
winux::uint  flags = wordFirstCharUpper 
)
inline

整理标识符为单词数组

在文件 strings.hpp400 行定义.

函数调用图:

AnsiStringArray winux::CollateIdentifierToArrayA ( AnsiString const &  identifier,
winux::uint  flags = wordFirstCharUpper 
)
UnicodeStringArray winux::CollateIdentifierToArrayW ( UnicodeString const &  identifier,
winux::uint  flags = wordFirstCharUpper 
)
AnsiString winux::CollateIdentifierToString ( AnsiString const &  identifier,
AnsiString const &  sep,
winux::uint  flags = wordFirstCharUpper 
)
inline

整理标识符为字符串

在文件 strings.hpp390 行定义.

函数调用图:

AnsiString winux::CollateIdentifierToStringA ( AnsiString const &  identifier,
AnsiString const &  sep,
winux::uint  flags = wordFirstCharUpper 
)
UnicodeString winux::CollateIdentifierToStringW ( UnicodeString const &  identifier,
UnicodeString const &  sep,
winux::uint  flags = wordFirstCharUpper 
)
template<typename... _ArgType>
static void winux::ColorOutput ( winux::ConsoleAttr const &  ca,
_ArgType &&...  arg 
)
inlinestatic

在文件 console.hpp191 行定义.

函数调用图:

template<typename... _ArgType>
static void winux::ColorOutputLine ( winux::ConsoleAttr const &  ca,
_ArgType &&...  arg 
)
inlinestatic

在文件 console.hpp181 行定义.

函数调用图:

String winux::CombinePath ( String const &  dirPath,
String const &  fileName 
)

把一个目录路径和一个文件名组合成一个新路径

size_t winux::CommandLineToArgv ( AnsiString const &  cmd,
AnsiStringArray argv 
)
inline

把命令行解析成Argv数组。不支持命令行& && | ||

参数
cmd命令行,不支持命令行& && | ||
argv输出解析到的参数
返回
解析到的参数个数

在文件 system.hpp40 行定义.

函数调用图:

size_t winux::CommandLineToArgvA ( AnsiString const &  cmd,
AnsiStringArray argv 
)
size_t winux::CommandLineToArgvW ( UnicodeString const &  cmd,
UnicodeStringArray argv 
)
size_t winux::CommonDelete ( String const &  path)

通用删除,删除文件夹和文件,返回删除的文件夹和文件数

template<typename _VarType >
ConsoleAttrT<_VarType> winux::ConsoleColor ( winux::ushort  attr,
_VarType const &  v,
bool  isSetBgColor = false 
)
inline

在文件 console.hpp155 行定义.

AnsiString winux::DecryptContent ( AnsiString const &  encryptContent)

内容解密,与EncryptContent()配套

Buffer winux::DecryptContent ( Buffer const &  encryptContent)

内容解密,与EncryptContent()配套

bool winux::DetectPath ( String const &  path,
bool *  isDir = NULL 
)

探测一个路径是存在还是不存在,是目录还是文件

返回true/false表示是否存在, *isDir返回true/false表示是否为目录

AnsiString winux::EncryptContent ( AnsiString const &  content)

内容加密

Buffer winux::EncryptContent ( Buffer const &  content)

内容加密

size_t winux::EnumFiles ( String const &  path,
Mixed const &  ext,
StringArray arrFiles,
bool  isRecursive = false 
)

在指定路径下枚举指定扩展名的文件

参数
path路径
ext可以是扩展名串,也可以是一个数组。Mixed(MT_NULL)表示忽略
arrFiles返回的结果。
isRecursive是否递归。当为false时,arrFiles返回的结果不用区别目录,因此不包含目录部分的路径。
返回
size_t 文件数
int winux::ExecCommand ( String const &  cmd,
String const &  stdinStr,
String stdoutStr,
String stderrStr = NULL,
bool  closeStdinIfStdinStrEmpty = true 
)

新建子进程执行指定命令,等待子进程结束,并把字符串重定向了标准设备

参数
cmdwinux::String const &
stdinStrwinux::String const &
stdoutStrwinux::String *
stderrStrwinux::String *
closeStdinIfStdinStrEmptybool
返回
int
HProcess winux::ExecCommandEx ( String const &  cmd,
HPipe hStdinWritePipe,
HPipe hStdoutReadPipe,
HPipe hStderrReadPipe = NULL,
bool  closeStdinIfStdinWritePipeIsNull = true 
)

新建子进程执行指定命令,并用管道重定向了标准设备

参数
cmdwinux::String const &
hStdinWritePipeHPipe *
hStdoutReadPipeHPipe *
hStderrReadPipeHPipe *
closeStdinIfStdinWritePipeIsNullbool 指示当不准备重定向标准输入时是否关闭它,这样子进程就不会等待输入而卡死
返回
HProcess 子进程的进程句柄
time_t winux::FileATime ( String const &  filename)

获取文件访问时间

time_t winux::FileCTime ( String const &  filename)

获取文件创建时间

AnsiString winux::FileGetContents ( String const &  filename,
bool  textMode = true 
)

载入文件内容为一个AnsiString,textMode表示是否为文本模式

Buffer winux::FileGetContentsEx ( String const &  filename,
bool  textMode 
)

载入文件内容为一个Buffer,textMode表示是否为文本模式

time_t winux::FileMTime ( String const &  filename)

获取文件修改时间

String winux::FilePath ( String const &  fullPath,
String fileName = NULL 
)

获取路径名(末尾不含目录分隔符)

参数
fullPathString const&
fileNameString*
返回
String
bool winux::FilePutContents ( String const &  filename,
AnsiString const &  content,
bool  textMode = true 
)

把AnsiString内容写入文件,textMode表示是否为文本模式

bool winux::FilePutContentsEx ( String const &  filename,
Buffer const &  content,
bool  textMode 
)

把Buffer内容写入文件,textMode表示是否为文本模式

ulong winux::FileSize ( String const &  filename)

获取文件大小

uint64 winux::FileSize64 ( String const &  filename)

获取文件大小(大于4GB的文件)

bool winux::FileTime ( String const &  filename,
time_t *  ctime,
time_t *  mtime,
time_t *  atime 
)

获取文件时间

参数
filenameString const &
ctimetime_t * 可传递nullptr表示不获取create time
mtimetime_t * 可传递nullptr表示不获取modify time
atimetime_t * 可传递nullptr表示不获取access time
返回
bool
String winux::FileTitle ( String const &  fileName,
String extName = NULL 
)

获取文件标题

参数
fileNameString const& 文件名
extNameString* 返回扩展名(不包括'.')
返回
String
bool winux::FileTouch ( String const &  filename,
time_t  time = (time_t)-1,
time_t  atime = (time_t)-1 
)

更新文件修改时间,访问时间

void winux::FolderData ( String const &  path,
StringArray fileArr,
StringArray subFolderArr,
int  sortType = 0 
)

获取文件夹中的文件和子文件夹。sortType:0结果不排序 1正序 2反序

AnsiString winux::Format ( char const *  fmt,
  ... 
)

格式化字符串2

AnsiString winux::FormatA ( char const *  fmt,
  ... 
)
AnsiString winux::FormatEx ( size_t  cch,
char const *  fmt,
  ... 
)

格式化字符串1

AnsiString winux::FormatExA ( size_t  cch,
char const *  fmt,
  ... 
)
AnsiString winux::FormatExV ( size_t  cch,
char const *  fmt,
va_list  args 
)
inline

格式化字符串0

在文件 strings.hpp711 行定义.

函数调用图:

AnsiString winux::FormatExVA ( size_t  cch,
char const *  fmt,
va_list  args 
)
UnicodeString winux::FormatExVW ( size_t  cch,
wchar const *  fmt,
va_list  args 
)
UnicodeString winux::FormatExW ( size_t  cch,
wchar const *  fmt,
  ... 
)
UnicodeString winux::FormatW ( wchar const *  fmt,
  ... 
)
String winux::GetCurrentDir ( void  )

返回当前工作目录(末尾不含目录分隔符)

String winux::GetExec ( String const &  cmd,
String const &  stdinStr = "",
String stderrStr = NULL,
bool  closeStdinIfStdinStrEmpty = true 
)

执行命令,返回标准输出内容

String winux::GetExecutablePath ( void  )

获取可执行文件的全路径

time_t winux::GetUtcTime ( void  )

获取UTC时间秒数,或者调用CRT的time(NULL)

uint64 winux::GetUtcTimeMs ( void  )

获取UTC时间毫秒数,UTC秒数可以直接除以1000,或者调用CRT的time(NULL)

uint64 winux::GetUtcTimeUs ( void  )

获取UTC时间微秒数,UTC秒数可以直接除以1000000,或者调用CRT的time(NULL)

String winux::HtmlDecode ( String const &  str)

HTML解码,与HtmlEncode()配套

String winux::HtmlEncode ( String const &  str)

HTML编码 作用字符:'&', '<', '>', ' '.

template<typename _Ty >
static constexpr _Ty winux::InvertByteOrder ( _Ty  v)
inlinestatic

反转字节序

在文件 utilities.hpp245 行定义.

bool winux::IsAbsPath ( String const &  path)

判断是否为绝对路径

static bool winux::IsBigEndian ( )
inlinestatic

判断编译环境是否为大端序

在文件 utilities.hpp260 行定义.

bool winux::IsDir ( String const &  path)

判断是否是一个目录

static bool winux::IsLittleEndian ( )
inlinestatic

判断编译环境是否为小端序

在文件 utilities.hpp253 行定义.

template<typename _MAP , typename _KEY >
bool winux::isset ( _MAP const &  m,
_KEY const &  k 
)
inline

检测map中是否有该键的值

在文件 utilities.hpp268 行定义.

Mixed winux::Json ( String const &  json)

Json解析成Mixed.

bool winux::JsonParse ( String const &  json,
Mixed val 
)

Json解析成Mixed.

bool winux::JsonSetByteOrderForUtf16 ( bool  isLittleEndian)

设置字节序。此字节序是解析时,存储编码数字的字节序。默认小端序。

String winux::JsonSetConvertToCharsetForUtf16 ( String const &  charset)

设置转换到的字符集编码。此表示解析时,转换成什么编码。默认为空串,即本地编码。

假设JSON的编码是X,当X不是本地编码,并且内部可能有非ANSI字符以及的字符时,应该调用此函数指定编码为X。不然会转换成本地编码和JSON的编码X冲突。

参数
charset必须是iconv库能识别的编码字符串,例如UTF-8、UTF-16、UTF-16LE、UTF-16BE、GBK等等。
std::vector<int> winux::KmpCalcNext ( char const *  substr,
size_t  sublen 
)

KMP字符串匹配算法:求子串next值

size_t winux::KmpMatch ( char const *  str,
size_t  len,
char const *  substr,
size_t  sublen,
size_t  pos 
)

KMP字符串匹配算法:匹配

size_t winux::KmpMatchEx ( char const *  str,
size_t  len,
char const *  substr,
size_t  sublen,
size_t  pos,
std::vector< int > const &  next 
)

KMP字符串匹配算法:传入已经求好的next进行匹配

size_t winux::LocalCharsCount ( AnsiString const &  local)

返回一个本地字符串里有多少个实际的字符(by local CodePage),用于mbstowcs

AnsiString winux::LocalFromUtf8 ( AnsiString const &  str)

从utf-8转到本地编码

String winux::LocalToString ( AnsiString const &  local)

兼容字符串与Unicode、Local字符串相互转换

UnicodeString winux::LocalToUnicode ( AnsiString const &  local)

本地Ansi转到Unicode

AnsiString winux::LocalToUtf8 ( AnsiString const &  str)

从本地编码转到utf-8

long winux::LongAtomicCompareExchange ( long volatile *  p,
long  exchange,
long  comparand 
)

原子化操作,*p若和comparand相等,就把*p赋成exchange,返回值是初始的*p值

long winux::LongAtomicDecrement ( long volatile *  p)

原子化使一个Long型变量-1,返回值是-1后的*p值

long winux::LongAtomicIncrement ( long volatile *  p)

原子化使一个Long型变量+1,返回值是+1后的*p值

bool winux::MakeDirExists ( String const &  path,
int  mode = 0755 
)

确保目录路径的存在性,如果不存在则创建。

linux下需设置目录权限(8进制数),默认权限0755
owner - group - other
R W X - R W X - R W X
1 1 1 - 1 0 1 - 1 0 1
7 5 5

template<typename _Ty >
SharedPointer<_Ty> winux::MakeShared ( _Ty *  newObj)
inline

在文件 smartptr.hpp923 行定义.

template<typename _Ty , typename _Dt >
SharedPointer<_Ty> winux::MakeShared ( _Ty *  newObj,
_Dt  dt 
)
inline

在文件 smartptr.hpp929 行定义.

template<typename _Ty >
SimplePointer<_Ty> winux::MakeSimple ( _Ty *  newObj)
inline

在文件 smartptr.hpp911 行定义.

template<typename _Ty , typename _Dt >
SimplePointer<_Ty> winux::MakeSimple ( _Ty *  newObj,
_Dt  dt 
)
inline

在文件 smartptr.hpp917 行定义.

String winux::Md5Hex ( void const *  buf,
size_t  size 
)

将数据进行md5编码,返回16进制数字符串

String winux::Md5Hex ( Buffer const &  buf)
inline

将数据进行md5编码,返回16进制数字符串

在文件 encoding.hpp49 行定义.

函数调用图:

AnsiString winux::MixedToJson ( Mixed const &  v,
bool  autoKeyQuotes 
)
inline

Mixed输出成Json.

在文件 json.hpp31 行定义.

函数调用图:

AnsiString winux::MixedToJsonA ( Mixed const &  v,
bool  autoKeyQuotes 
)
AnsiString winux::MixedToJsonEx ( Mixed const &  v,
bool  autoKeyQuotes,
AnsiString const &  spacer = "",
AnsiString const &  newline = "" 
)
inline

Mixed输出成Json,支持结构化。

参数
spacer缩进留白,默认空串表示不缩进留白
newline换行符,默认空串表示不换行

在文件 json.hpp43 行定义.

函数调用图:

AnsiString winux::MixedToJsonExA ( Mixed const &  v,
bool  autoKeyQuotes,
AnsiString const &  spacer = "",
AnsiString const &  newline = "" 
)
UnicodeString winux::MixedToJsonExW ( Mixed const &  v,
bool  autoKeyQuotes,
UnicodeString const &  spacer = L"",
UnicodeString const &  newline = L"" 
)
UnicodeString winux::MixedToJsonW ( Mixed const &  v,
bool  autoKeyQuotes 
)
template<typename _Fx , typename... _ArgType>
Invoker<_Fx>* winux::NewInvoker ( _Fx  fn,
_ArgType &&...  arg 
)

在文件 utilities.hpp143 行定义.

template<typename _Fx , typename... _ArgType>
RunableT< _Fx, std::tuple< typename std::decay<_ArgType>::type... > >* winux::NewRunable ( _Fx  fn,
_ArgType &&...  arg 
)

创建一个Runable对象

参数
fn执行函数。可以是普通函数,成员函数,lambda表达式。
arg...传递的参数。内部会使用tuple保存参数的副本(会存在一个实际的同类型对象)。所以要想不进行值拷贝构造,可以使用std::ref()保存引用包装对象,或者使用std::move()触发移动构造。

在文件 utilities.hpp119 行定义.

String winux::NormalizePath ( String const &  path)

使路径规则化(末尾不带路径分割符)

std::ostream& winux::operator<< ( std::ostream &  o,
DateTimeL const &  dt 
)
template<typename _VarType >
std::ostream& winux::operator<< ( std::ostream &  o,
ConsoleAttrT< _VarType > const &  tr 
)
inline

在文件 console.hpp137 行定义.

std::ostream& winux::operator<< ( std::ostream &  o,
Mixed const &  m 
)

扩展iostream的<<

std::wostream& winux::operator<< ( std::wostream &  o,
Mixed const &  m 
)
template<typename _VarType >
std::istream& winux::operator>> ( std::istream &  in,
ConsoleAttrT< _VarType > const &  tr 
)
inline

在文件 console.hpp146 行定义.

函数调用图:

static void winux::OutputV ( )
inlinestatic

在文件 console.hpp169 行定义.

template<typename _Ty , typename... _ArgType>
static void winux::OutputV ( _Ty &&  a,
_ArgType &&...  arg 
)
inlinestatic

在文件 console.hpp174 行定义.

函数调用图:

String winux::PathNoSep ( String const &  path)
String& winux::PathNoSep ( String path)
String winux::PathWithSep ( String const &  path)

路径分隔符整理

String& winux::PathWithSep ( String path)
int winux::Random ( int  n1,
int  n2 
)

随机数,随机产生n1~n2的数字. 包括n1,n2本身

int winux::RawDecrypt ( byte const *  encryptData,
size_t  dataSize,
byte buf,
size_t  bufSize,
size_t *  outSize 
)

未进行C++包装的内容解密,与RawEncrypt()配套

int winux::RawEncrypt ( byte const *  data,
size_t  dataSize,
byte buf,
size_t  bufSize,
size_t *  outSize 
)

未进行C++包装的内容加密

String winux::RealPath ( String const &  path)

根据当前工作目录计算绝对路径,不会检查存在性

String winux::RealPathEx ( String const &  path,
String const &  workDirAbsPath 
)

根据指定工作目录计算绝对路径,不会检查存在性

参数
workDirAbsPath绝对路径指定工作目录,如果为空则效果同RealPath()
template<typename _Ty >
RefParam<_Ty> winux::Ref ( _Ty &  r)

向模板参数传递引用型参数

在文件 utilities.hpp324 行定义.

bool winux::SetCurrentDir ( String const &  path)

设置当前工作目录

Buffer winux::Sha1 ( void const *  buf,
size_t  size 
)

将数据进行sha1编码,返回二进制数据

Buffer winux::Sha1 ( Buffer const &  buf)
inline

将数据进行sha1编码,返回二进制数据

在文件 encoding.hpp58 行定义.

函数调用图:

String winux::Sha1Hex ( void const *  buf,
size_t  size 
)

将数据进行sha1编码,返回16进制数字符串

String winux::Sha1Hex ( Buffer const &  buf)
inline

将数据进行sha1编码,返回16进制数字符串

在文件 encoding.hpp54 行定义.

函数调用图:

bool winux::StrGetLine ( AnsiString line,
AnsiString const &  str,
size_t *  i,
AnsiString nl = nullptr 
)
inline

获取字符串中的一行,支持unix,windows,mac平台的行分隔方式
line 不包含换行符,i 指示起始位置,并获得处理到哪个位置。

如何统一处理3平台的文本文件:
最好的办法是在该平台用文本模式打开该平台产生的文本文件,然后操作。
然而,现实不像想象的那么美好,多数情况下是处理不同平台下的文本文件,譬如在unix系平台下处理windows或mac的文本文件。
由于行分隔不同,导致处理有一定困难。
此函数正为此而存在。首先,你需要用二进制模式打开文件,然后读取全部数据,调用此函数取行即可。

在文件 strings.hpp365 行定义.

函数调用图:

bool winux::StrGetLineA ( AnsiString line,
AnsiString const &  str,
size_t *  i,
AnsiString nl = nullptr 
)
bool winux::StrGetLineW ( UnicodeString line,
UnicodeString const &  str,
size_t *  i,
UnicodeString nl = nullptr 
)
AnsiString winux::StringToLocal ( String const &  str)

兼容字符串与Unicode、Local字符串相互转换

UnicodeString winux::StringToUnicode ( String const &  str)

兼容字符串与Unicode、Local字符串相互转换

AnsiString winux::StrInsert ( AnsiString const &  str,
size_t  start,
size_t  end,
AnsiString const &  insert 
)
inline

在指定位置插入字符串

在文件 strings.hpp177 行定义.

函数调用图:

AnsiString winux::StrInsertA ( AnsiString const &  str,
size_t  start,
size_t  end,
AnsiString const &  insert 
)
UnicodeString winux::StrInsertW ( UnicodeString const &  str,
size_t  start,
size_t  end,
UnicodeString const &  insert 
)
AnsiString winux::StripCSlashes ( AnsiString const &  str)
inline

去掉C-Style反斜杠

在文件 strings.hpp338 行定义.

函数调用图:

AnsiString winux::StripCSlashesA ( AnsiString const &  str)
inline

在文件 strings.hpp332 行定义.

函数调用图:

UnicodeString winux::StripCSlashesW ( UnicodeString const &  str)
inline

在文件 strings.hpp333 行定义.

函数调用图:

AnsiString winux::StripSlashes ( AnsiString const &  str,
AnsiString const &  charlist 
)
inline

去掉反斜杠

在文件 strings.hpp328 行定义.

函数调用图:

AnsiString winux::StripSlashesA ( AnsiString const &  str,
AnsiString const &  charlist 
)
UnicodeString winux::StripSlashesW ( UnicodeString const &  str,
UnicodeString const &  charlist 
)
AnsiString winux::StrJoin ( AnsiString const &  delim,
AnsiStringArray const &  arr 
)
inline

字符串组合连接

在文件 strings.hpp157 行定义.

函数调用图:

AnsiString winux::StrJoinA ( AnsiString const &  delim,
AnsiStringArray const &  arr 
)
AnsiString winux::StrJoinEx ( AnsiString const &  delim,
AnsiStringArray const &  arr,
size_t  start = 0,
size_t  elemCount = -1 
)
inline

字符串组合连接。start表示开始位置,elemCount表示自开始位置的元素数,默认-1表示自开始位置的全部元素

在文件 strings.hpp167 行定义.

函数调用图:

AnsiString winux::StrJoinExA ( AnsiString const &  delim,
AnsiStringArray const &  arr,
size_t  start = 0,
size_t  elemCount = -1 
)
UnicodeString winux::StrJoinExW ( UnicodeString const &  delim,
UnicodeStringArray const &  arr,
size_t  start = 0,
size_t  elemCount = -1 
)
UnicodeString winux::StrJoinW ( UnicodeString const &  delim,
UnicodeStringArray const &  arr 
)
AnsiString winux::StrLower ( AnsiString  str)
inline

使字符串小写

在文件 strings.hpp238 行定义.

函数调用图:

AnsiString winux::StrLowerA ( AnsiString  str)
UnicodeString winux::StrLowerW ( UnicodeString  str)
AnsiString& winux::StrMakeLower ( AnsiString str)
inline

使字符串小写

在文件 strings.hpp229 行定义.

函数调用图:

AnsiString& winux::StrMakeLowerA ( AnsiString str)
UnicodeString& winux::StrMakeLowerW ( UnicodeString str)
AnsiString& winux::StrMakeReplace ( AnsiString str,
AnsiString const &  findText,
AnsiString const &  replaceText,
size_t  offset = 0 
)
inline

使字符串全文替换

在文件 strings.hpp187 行定义.

函数调用图:

AnsiString& winux::StrMakeReplaceA ( AnsiString str,
AnsiString const &  findText,
AnsiString const &  replaceText,
size_t  offset = 0 
)
UnicodeString& winux::StrMakeReplaceW ( UnicodeString str,
UnicodeString const &  findText,
UnicodeString const &  replaceText,
size_t  offset = 0 
)
AnsiString& winux::StrMakeUpper ( AnsiString str)
inline

使字符串大写

在文件 strings.hpp210 行定义.

函数调用图:

AnsiString& winux::StrMakeUpperA ( AnsiString str)
UnicodeString& winux::StrMakeUpperW ( UnicodeString str)
AnsiString winux::StrMultiple ( AnsiString const &  str,
int  multiple 
)
inline

字符串倍数的出现

在文件 strings.hpp248 行定义.

函数调用图:

AnsiString winux::StrMultipleA ( AnsiString const &  str,
int  multiple 
)
UnicodeString winux::StrMultipleW ( UnicodeString const &  str,
int  multiple 
)
size_t winux::StrSplit ( AnsiString const &  str,
AnsiString const &  delimList,
AnsiStringArray arr,
bool  alwaysRetOneElem = false 
)
inline

字符串分割

delimList指示出分割符列表,分割符只能是一个字符,函数会把str内分割符间的内容(即使是空串)添加到arr中,返回个数。
当alwaysRetOneElem==true时,即使str是空串时也会向arr返回一个数组元素,元素值是空串。

参数
str
delimList
arr
返回
size_t

在文件 strings.hpp130 行定义.

函数调用图:

size_t winux::StrSplit2 ( AnsiString const &  str,
AnsiString const &  delim,
AnsiStringArray arr,
bool  alwaysRetOneElem = false 
)
inline

字符串分割2

delim指示出分割字符串,函数会把str内分割字符串间的内容(即使是空串)添加到arr中,返回个数。
当alwaysRetOneElem==true时,即使str是空串时也会向arr返回一个数组元素,元素值是空串。

参数
str
delim
arr
返回
size_t

在文件 strings.hpp147 行定义.

函数调用图:

size_t winux::StrSplit2A ( AnsiString const &  str,
AnsiString const &  delim,
AnsiStringArray arr,
bool  alwaysRetOneElem = false 
)
size_t winux::StrSplit2W ( UnicodeString const &  str,
UnicodeString const &  delim,
UnicodeStringArray arr,
bool  alwaysRetOneElem = false 
)
size_t winux::StrSplitA ( AnsiString const &  str,
AnsiString const &  delimList,
AnsiStringArray arr,
bool  alwaysRetOneElem = false 
)
size_t winux::StrSplitW ( UnicodeString const &  str,
UnicodeString const &  delimList,
UnicodeStringArray arr,
bool  alwaysRetOneElem = false 
)
AnsiString winux::StrSubtract ( AnsiString  str1,
AnsiString const &  str2 
)
inline

字符串相减,str1 - str2,即去掉str1里与str2相同的部分。限制:str1 >= str2。

在文件 strings.hpp258 行定义.

函数调用图:

AnsiString winux::StrSubtractA ( AnsiString  str1,
AnsiString const &  str2 
)
UnicodeString winux::StrSubtractW ( UnicodeString  str1,
UnicodeString const &  str2 
)
int64 winux::StrToInt64 ( AnsiString const &  numStr,
int  ibase 
)
inline

在文件 strings.hpp289 行定义.

函数调用图:

int64 winux::StrToInt64A ( AnsiString const &  numStr,
int  ibase 
)
int64 winux::StrToInt64W ( UnicodeString const &  numStr,
int  ibase 
)
uint64 winux::StrToUint64 ( AnsiString const &  numStr,
int  ibase 
)
inline

在文件 strings.hpp298 行定义.

函数调用图:

uint64 winux::StrToUint64A ( AnsiString const &  numStr,
int  ibase 
)
uint64 winux::StrToUint64W ( UnicodeString const &  numStr,
int  ibase 
)
uint64 winux::StrToXq ( char const *  nptr,
char const **  endptr,
int  ibase,
int  flags 
)
inline

字符串转换成64位的数字

在文件 strings.hpp277 行定义.

函数调用图:

uint64 winux::StrToXqA ( char const *  nptr,
char const **  endptr,
int  ibase,
int  flags 
)
uint64 winux::StrToXqU16 ( char16 const *  nptr,
char16 const **  endptr,
int  ibase,
int  flags 
)
uint64 winux::StrToXqU32 ( char32 const *  nptr,
char32 const **  endptr,
int  ibase,
int  flags 
)
uint64 winux::StrToXqW ( wchar const *  nptr,
wchar const **  endptr,
int  ibase,
int  flags 
)
AnsiString winux::StrTrim ( AnsiString const &  str)
inline

祛除字符串首尾出现的空白字符

参数
str
返回
String

在文件 strings.hpp200 行定义.

函数调用图:

AnsiString winux::StrTrimA ( AnsiString const &  str)
UnicodeString winux::StrTrimW ( UnicodeString const &  str)
AnsiString winux::StrUpper ( AnsiString  str)
inline

使字符串大写

在文件 strings.hpp219 行定义.

函数调用图:

AnsiString winux::StrUpperA ( AnsiString  str)
UnicodeString winux::StrUpperW ( UnicodeString  str)
template<typename _CHAR , uint _N>
SZInput winux::SZ ( _CHAR(&)  sz[_N])

在文件 strings.hpp739 行定义.

template<typename _Ty >
std::vector<_Ty> winux::ToArray ( _Ty *  arr,
uint  count 
)

将C数组转换成vector

在文件 utilities.hpp275 行定义.

template<typename _Ty , uint _N>
std::vector<_Ty> winux::ToArray ( _Ty(&)  arr[_N])

在文件 utilities.hpp281 行定义.

size_t winux::UnicodeMinLength ( UnicodeString const &  unicode)

返回一个unicode字符串转换为多字节字符串最少需要多少字节(by local CodePage),用于wcstombs

AnsiString winux::UnicodeToLocal ( UnicodeString const &  unicode)

Unicode转换到本地Ansi.

String winux::UnicodeToString ( UnicodeString const &  unicode)

兼容字符串与Unicode、Local字符串相互转换

String winux::UriComponentDecode ( String const &  str)

URI组成部分解码,与UriComponentEncode()配套

String winux::UriComponentEncode ( String const &  str)

URI组成部分编码,遵循RFC1738.

除了-_.~之外的所有非字母数字字符都将被替换成百分号()后跟两位十六进制数。 这是在RFC1738中描述的编码。

String winux::UrlDecode ( String const &  str)

URL解码,与UrlEncode()配套

String winux::UrlEncode ( String const &  str)

URL编码

除了-_.之外的所有非字母数字字符都将被替换成百分号()后跟两位十六进制数,空格则编码为加号(+)。 此编码与WWW表单POST数据的编码方式是一样的,同时与application/x-www-form-urlencoded的媒体类型编码方式一样。 由于历史原因,此编码在将空格编码为加号(+)方面与RFC1738编码不同。 此函数便于将字符串编码并将其用于URL的请求部分,同时它还便于将变量传递给下一页。

bool winux::ValueIsInArray ( StringArray const &  arr,
String const &  val,
bool  caseInsensitive = false 
)

判断一个字符串值是否在一个字符串数组里,默认大小写敏感

template<typename _Fx , typename... _ArgType>
int winux::VoidReturnInt ( _Fx  fn,
_ArgType &&...  arg 
)

调用一个返回void的函数或函数对象,返回一个数字

通常是为了在初始化语句中方便调用返回void的函数

在文件 utilities.hpp290 行定义.

void winux::WriteBinLog ( void const *  data,
size_t  size 
)

二进制日志

void winux::WriteLog ( String const &  s)

日志

变量说明

char const* winux::__TerminalBgColorAttrs[]
char const* winux::__TerminalFgColorAttrs[]
String const winux::DirSep = "\\"

目录分割符

在文件 filesys.hpp18 行定义.

String const winux::LineSep = "\r\n"

行分割符

在文件 filesys.hpp19 行定义.

constexpr size_t const winux::npos = static_cast<size_t>(-1)
static

非位置,值为-1。

在文件 utilities.hpp240 行定义.

String const winux::PathEnvSep = ";"

PATH环境变量路径分割符

在文件 filesys.hpp20 行定义.