fastdo
0.6.8
|
跨平台基础功能库 更多...
类型定义 | |
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< wchar > | UnicodeString |
typedef XString< char16 > | UnicodeString16 |
typedef XString< char16 > | Utf16String |
typedef XString< char32 > | UnicodeString32 |
typedef XString< char32 > | Utf32String |
typedef XString< tchar > | String |
template<typename _ChTy > | |
using | XStringArray = std::vector< XString< _ChTy > > |
typedef XStringArray< char > | AnsiStringArray |
typedef XStringArray< char > | Utf8StringArray |
typedef XStringArray< wchar > | UnicodeStringArray |
typedef XStringArray< char16 > | UnicodeString16Array |
typedef XStringArray< char32 > | UnicodeString32Array |
typedef XStringArray< char16 > | Utf16StringArray |
typedef XStringArray< char32 > | Utf32StringArray |
typedef XStringArray< tchar > | StringArray |
typedef std::map< String, String > | StringStringMap |
typedef std::pair< String, String > | StringStringPair |
typedef std::vector< Mixed > | MixedArray |
typedef std::map< String, Mixed > | StringMixedMap |
typedef std::pair< String, Mixed > | StringMixedPair |
枚举 | |
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) |
String & | PathWithSep (String *path) |
String & | PathNoSep (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) |
在指定位置插入字符串 更多... | |
AnsiString & | StrMakeReplaceA (AnsiString *str, AnsiString const &findText, AnsiString const &replaceText, size_t offset=0) |
UnicodeString & | StrMakeReplaceW (UnicodeString *str, UnicodeString const &findText, UnicodeString const &replaceText, size_t offset=0) |
AnsiString & | StrMakeReplace (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) |
祛除字符串首尾出现的空白字符 更多... | |
AnsiString & | StrMakeUpperA (AnsiString *str) |
UnicodeString & | StrMakeUpperW (UnicodeString *str) |
AnsiString & | StrMakeUpper (AnsiString *str) |
使字符串大写 更多... | |
AnsiString | StrUpperA (AnsiString str) |
UnicodeString | StrUpperW (UnicodeString str) |
AnsiString | StrUpper (AnsiString str) |
使字符串大写 更多... | |
AnsiString & | StrMakeLowerA (AnsiString *str) |
UnicodeString & | StrMakeLowerW (UnicodeString *str) |
AnsiString & | StrMakeLower (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.hpp 第 212 行定义.
typedef XStringArray<char> winux::AnsiStringArray |
在文件 utilities.hpp 第 221 行定义.
using winux::AnsiStringWriter = typedef XStringWriter<char> |
在文件 strings.hpp 第 532 行定义.
typedef unsigned char winux::byte |
在文件 utilities.hpp 第 204 行定义.
typedef char16_t winux::char16 |
在文件 utilities.hpp 第 177 行定义.
typedef char32_t winux::char32 |
在文件 utilities.hpp 第 178 行定义.
typedef int winux::HPipe |
在文件 system.hpp 第 25 行定义.
typedef pid_t winux::HProcess |
在文件 system.hpp 第 26 行定义.
typedef short winux::int16 |
在文件 utilities.hpp 第 172 行定义.
typedef int winux::int32 |
在文件 utilities.hpp 第 169 行定义.
typedef __int64 winux::int64 |
在文件 utilities.hpp 第 187 行定义.
typedef char winux::int8 |
在文件 utilities.hpp 第 174 行定义.
typedef __int64 winux::longlong |
在文件 utilities.hpp 第 188 行定义.
typedef std::vector<Mixed> winux::MixedArray |
在文件 utilities.hpp 第 232 行定义.
typedef intptr_t winux::offset_t |
在文件 utilities.hpp 第 180 行定义.
typedef intptr_t winux::ssize_t |
在文件 utilities.hpp 第 180 行定义.
typedef XString<tchar> winux::String |
在文件 utilities.hpp 第 216 行定义.
typedef XStringArray<tchar> winux::StringArray |
在文件 utilities.hpp 第 227 行定义.
typedef std::map<String, Mixed> winux::StringMixedMap |
在文件 utilities.hpp 第 233 行定义.
typedef std::pair<String, Mixed> winux::StringMixedPair |
在文件 utilities.hpp 第 234 行定义.
typedef std::map<String, String> winux::StringStringMap |
在文件 utilities.hpp 第 229 行定义.
typedef std::pair<String, String> winux::StringStringPair |
在文件 utilities.hpp 第 230 行定义.
using winux::StringWriter = typedef XStringWriter<tchar> |
在文件 strings.hpp 第 531 行定义.
typedef char winux::tchar |
在文件 utilities.hpp 第 200 行定义.
typedef unsigned int winux::uint |
在文件 utilities.hpp 第 170 行定义.
typedef unsigned short winux::uint16 |
在文件 utilities.hpp 第 173 行定义.
typedef unsigned int winux::uint32 |
在文件 utilities.hpp 第 170 行定义.
typedef unsigned __int64 winux::uint64 |
在文件 utilities.hpp 第 185 行定义.
typedef unsigned char winux::uint8 |
在文件 utilities.hpp 第 175 行定义.
typedef unsigned long winux::ulong |
在文件 utilities.hpp 第 171 行定义.
typedef unsigned __int64 winux::ulonglong |
在文件 utilities.hpp 第 186 行定义.
typedef XString<wchar> winux::UnicodeString |
在文件 utilities.hpp 第 213 行定义.
typedef XString<char16> winux::UnicodeString16 |
在文件 utilities.hpp 第 214 行定义.
在文件 utilities.hpp 第 223 行定义.
typedef XString<char32> winux::UnicodeString32 |
在文件 utilities.hpp 第 215 行定义.
在文件 utilities.hpp 第 224 行定义.
typedef XStringArray<wchar> winux::UnicodeStringArray |
在文件 utilities.hpp 第 222 行定义.
using winux::UnicodeStringWriter = typedef XStringWriter<wchar> |
在文件 strings.hpp 第 533 行定义.
typedef unsigned short winux::ushort |
在文件 utilities.hpp 第 173 行定义.
typedef size_t winux::usize_t |
在文件 utilities.hpp 第 181 行定义.
typedef XString<char16> winux::Utf16String |
在文件 utilities.hpp 第 214 行定义.
typedef XStringArray<char16> winux::Utf16StringArray |
在文件 utilities.hpp 第 225 行定义.
typedef XString<char32> winux::Utf32String |
在文件 utilities.hpp 第 215 行定义.
typedef XStringArray<char32> winux::Utf32StringArray |
在文件 utilities.hpp 第 226 行定义.
typedef XString<char> winux::Utf8String |
在文件 utilities.hpp 第 212 行定义.
typedef XStringArray<char> winux::Utf8StringArray |
在文件 utilities.hpp 第 221 行定义.
typedef wchar_t winux::wchar |
在文件 utilities.hpp 第 184 行定义.
using winux::XString = typedef std::basic_string<_ChTy> |
在文件 utilities.hpp 第 210 行定义.
using winux::XStringArray = typedef std::vector< XString<_ChTy> > |
在文件 utilities.hpp 第 219 行定义.
typedef winux::ulong winux::ZRESULT |
在文件 compress.hpp 第 10 行定义.
整理标识符串的标记
枚举值 | |
---|---|
wordRaw |
不处理单词 |
wordAllUpper |
单词大写 |
wordAllLower |
单词小写 |
wordFirstCharUpper |
首字母大写 |
nameSmallHump |
小驼峰 |
在文件 strings.hpp 第 370 行定义.
颜色属性标记
在文件 console.hpp 第 13 行定义.
enum winux::StrToXqFlags |
字符串转换成数字Flags
枚举值 | |
---|---|
stqUnsigned |
无符号处理 |
stqNegative |
有解析到负号 |
stqOverflow |
发生溢出 |
stqReadDigit |
读到一个正确的数字字符 |
在文件 strings.hpp 第 263 行定义.
|
inlinestatic |
KMP匹配算法:求子串next值
在文件 strings.hpp 第 406 行定义.
|
inlinestatic |
|
inlinestatic |
KMP匹配算法:传入已经求好的next进行匹配
在文件 strings.hpp 第 432 行定义.
|
inline |
|
inline |
|
inline |
|
inline |
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 |
||
) |
|
inline |
AnsiString winux::AddSlashesA | ( | AnsiString const & | str, |
AnsiString const & | charlist | ||
) |
UnicodeString winux::AddSlashesW | ( | UnicodeString const & | str, |
UnicodeString const & | charlist | ||
) |
MapAssigner< _KTy, _VTy > winux::Assign | ( | std::map< _KTy, _VTy > * | m | ) |
给容器赋值
在文件 utilities.hpp 第 399 行定义.
ArrayAssigner<_Ty> winux::Assign | ( | std::vector< _Ty > * | a | ) |
给容器赋值
在文件 utilities.hpp 第 406 行定义.
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编码
|
inline |
AnsiStringArray winux::CollateIdentifierToArrayA | ( | AnsiString const & | identifier, |
winux::uint | flags = wordFirstCharUpper |
||
) |
UnicodeStringArray winux::CollateIdentifierToArrayW | ( | UnicodeString const & | identifier, |
winux::uint | flags = wordFirstCharUpper |
||
) |
|
inline |
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 |
||
) |
|
inlinestatic |
|
inlinestatic |
|
inline |
把命令行解析成Argv数组。不支持命令行& && | ||
cmd | 命令行,不支持命令行& && | || |
argv | 输出解析到的参数 |
在文件 system.hpp 第 40 行定义.
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 | ) |
通用删除,删除文件夹和文件,返回删除的文件夹和文件数
|
inline |
在文件 console.hpp 第 155 行定义.
AnsiString winux::DecryptContent | ( | AnsiString const & | encryptContent | ) |
内容解密,与EncryptContent()配套
bool winux::DetectPath | ( | String const & | path, |
bool * | isDir = NULL |
||
) |
探测一个路径是存在还是不存在,是目录还是文件
返回true/false表示是否存在, *isDir返回true/false表示是否为目录
AnsiString winux::EncryptContent | ( | AnsiString 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返回的结果不用区别目录,因此不包含目录部分的路径。 |
int winux::ExecCommand | ( | String const & | cmd, |
String const & | stdinStr, | ||
String * | stdoutStr, | ||
String * | stderrStr = NULL , |
||
bool | closeStdinIfStdinStrEmpty = true |
||
) |
新建子进程执行指定命令,等待子进程结束,并把字符串重定向了标准设备
cmd | winux::String const & |
stdinStr | winux::String const & |
stdoutStr | winux::String * |
stderrStr | winux::String * |
closeStdinIfStdinStrEmpty | bool |
HProcess winux::ExecCommandEx | ( | String const & | cmd, |
HPipe * | hStdinWritePipe, | ||
HPipe * | hStdoutReadPipe, | ||
HPipe * | hStderrReadPipe = NULL , |
||
bool | closeStdinIfStdinWritePipeIsNull = true |
||
) |
新建子进程执行指定命令,并用管道重定向了标准设备
cmd | winux::String const & |
hStdinWritePipe | HPipe * |
hStdoutReadPipe | HPipe * |
hStderrReadPipe | HPipe * |
closeStdinIfStdinWritePipeIsNull | bool 指示当不准备重定向标准输入时是否关闭它,这样子进程就不会等待输入而卡死 |
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,textMode表示是否为文本模式
time_t winux::FileMTime | ( | String const & | filename | ) |
获取文件修改时间
获取路径名(末尾不含目录分隔符)
fullPath | String const& |
fileName | String* |
bool winux::FilePutContents | ( | String const & | filename, |
AnsiString const & | content, | ||
bool | textMode = true |
||
) |
把AnsiString内容写入文件,textMode表示是否为文本模式
把Buffer内容写入文件,textMode表示是否为文本模式
bool winux::FileTime | ( | String const & | filename, |
time_t * | ctime, | ||
time_t * | mtime, | ||
time_t * | atime | ||
) |
获取文件时间
filename | String const & |
ctime | time_t * 可传递nullptr表示不获取create time |
mtime | time_t * 可传递nullptr表示不获取modify time |
atime | time_t * 可传递nullptr表示不获取access time |
获取文件标题
fileName | String const& 文件名 |
extName | 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, | ||
... | |||
) |
|
inline |
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)
|
inlinestatic |
反转字节序
在文件 utilities.hpp 第 245 行定义.
bool winux::IsAbsPath | ( | String const & | path | ) |
判断是否为绝对路径
|
inlinestatic |
判断编译环境是否为大端序
在文件 utilities.hpp 第 260 行定义.
bool winux::IsDir | ( | String const & | path | ) |
判断是否是一个目录
|
inlinestatic |
判断编译环境是否为小端序
在文件 utilities.hpp 第 253 行定义.
|
inline |
检测map中是否有该键的值
在文件 utilities.hpp 第 268 行定义.
bool winux::JsonSetByteOrderForUtf16 | ( | bool | isLittleEndian | ) |
设置字节序。此字节序是解析时,存储编码数字的字节序。默认小端序。
设置转换到的字符集编码。此表示解析时,转换成什么编码。默认为空串,即本地编码。
假设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
|
inline |
在文件 smartptr.hpp 第 923 行定义.
|
inline |
在文件 smartptr.hpp 第 929 行定义.
|
inline |
在文件 smartptr.hpp 第 911 行定义.
|
inline |
在文件 smartptr.hpp 第 917 行定义.
String winux::Md5Hex | ( | void const * | buf, |
size_t | size | ||
) |
将数据进行md5编码,返回16进制数字符串
|
inline |
AnsiString winux::MixedToJsonA | ( | Mixed const & | v, |
bool | autoKeyQuotes | ||
) |
|
inline |
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 | ||
) |
Invoker<_Fx>* winux::NewInvoker | ( | _Fx | fn, |
_ArgType &&... | arg | ||
) |
在文件 utilities.hpp 第 143 行定义.
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.hpp 第 119 行定义.
std::ostream& winux::operator<< | ( | std::ostream & | o, |
DateTimeL const & | dt | ||
) |
|
inline |
在文件 console.hpp 第 137 行定义.
std::ostream& winux::operator<< | ( | std::ostream & | o, |
Mixed const & | m | ||
) |
扩展iostream的<<
std::wostream& winux::operator<< | ( | std::wostream & | o, |
Mixed const & | m | ||
) |
|
inline |
|
inlinestatic |
在文件 console.hpp 第 169 行定义.
|
inlinestatic |
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++包装的内容加密
根据指定工作目录计算绝对路径,不会检查存在性
workDirAbsPath | 绝对路径指定工作目录,如果为空则效果同RealPath() |
RefParam<_Ty> winux::Ref | ( | _Ty & | r | ) |
向模板参数传递引用型参数
在文件 utilities.hpp 第 324 行定义.
bool winux::SetCurrentDir | ( | String const & | path | ) |
设置当前工作目录
Buffer winux::Sha1 | ( | void const * | buf, |
size_t | size | ||
) |
将数据进行sha1编码,返回二进制数据
String winux::Sha1Hex | ( | void const * | buf, |
size_t | size | ||
) |
将数据进行sha1编码,返回16进制数字符串
|
inline |
获取字符串中的一行,支持unix,windows,mac平台的行分隔方式
line 不包含换行符,i 指示起始位置,并获得处理到哪个位置。
如何统一处理3平台的文本文件:
最好的办法是在该平台用文本模式打开该平台产生的文本文件,然后操作。
然而,现实不像想象的那么美好,多数情况下是处理不同平台下的文本文件,譬如在unix系平台下处理windows或mac的文本文件。
由于行分隔不同,导致处理有一定困难。
此函数正为此而存在。首先,你需要用二进制模式打开文件,然后读取全部数据,调用此函数取行即可。
在文件 strings.hpp 第 365 行定义.
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字符串相互转换
|
inline |
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 | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
AnsiString winux::StripSlashesA | ( | AnsiString const & | str, |
AnsiString const & | charlist | ||
) |
UnicodeString winux::StripSlashesW | ( | UnicodeString const & | str, |
UnicodeString const & | charlist | ||
) |
|
inline |
AnsiString winux::StrJoinA | ( | AnsiString const & | delim, |
AnsiStringArray const & | arr | ||
) |
|
inline |
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 | ||
) |
|
inline |
AnsiString winux::StrLowerA | ( | AnsiString | str | ) |
UnicodeString winux::StrLowerW | ( | UnicodeString | str | ) |
|
inline |
AnsiString& winux::StrMakeLowerA | ( | AnsiString * | str | ) |
UnicodeString& winux::StrMakeLowerW | ( | UnicodeString * | str | ) |
|
inline |
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 |
||
) |
|
inline |
AnsiString& winux::StrMakeUpperA | ( | AnsiString * | str | ) |
UnicodeString& winux::StrMakeUpperW | ( | UnicodeString * | str | ) |
|
inline |
AnsiString winux::StrMultipleA | ( | AnsiString const & | str, |
int | multiple | ||
) |
UnicodeString winux::StrMultipleW | ( | UnicodeString const & | str, |
int | multiple | ||
) |
|
inline |
字符串分割
delimList指示出分割符列表,分割符只能是一个字符,函数会把str内分割符间的内容(即使是空串)添加到arr中,返回个数。
当alwaysRetOneElem==true时,即使str是空串时也会向arr返回一个数组元素,元素值是空串。
str | |
delimList | |
arr |
在文件 strings.hpp 第 130 行定义.
|
inline |
字符串分割2
delim指示出分割字符串,函数会把str内分割字符串间的内容(即使是空串)添加到arr中,返回个数。
当alwaysRetOneElem==true时,即使str是空串时也会向arr返回一个数组元素,元素值是空串。
str | |
delim | |
arr |
在文件 strings.hpp 第 147 行定义.
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 |
||
) |
|
inline |
AnsiString winux::StrSubtractA | ( | AnsiString | str1, |
AnsiString const & | str2 | ||
) |
UnicodeString winux::StrSubtractW | ( | UnicodeString | str1, |
UnicodeString const & | str2 | ||
) |
|
inline |
int64 winux::StrToInt64A | ( | AnsiString const & | numStr, |
int | ibase | ||
) |
int64 winux::StrToInt64W | ( | UnicodeString const & | numStr, |
int | ibase | ||
) |
|
inline |
uint64 winux::StrToUint64A | ( | AnsiString const & | numStr, |
int | ibase | ||
) |
uint64 winux::StrToUint64W | ( | UnicodeString const & | numStr, |
int | ibase | ||
) |
|
inline |
uint64 winux::StrToXqA | ( | char const * | nptr, |
char const ** | endptr, | ||
int | ibase, | ||
int | flags | ||
) |
|
inline |
AnsiString winux::StrTrimA | ( | AnsiString const & | str | ) |
UnicodeString winux::StrTrimW | ( | UnicodeString const & | str | ) |
|
inline |
AnsiString winux::StrUpperA | ( | AnsiString | str | ) |
UnicodeString winux::StrUpperW | ( | UnicodeString | str | ) |
SZInput winux::SZ | ( | _CHAR(&) | sz[_N] | ) |
在文件 strings.hpp 第 739 行定义.
std::vector<_Ty> winux::ToArray | ( | _Ty * | arr, |
uint | count | ||
) |
将C数组转换成vector
在文件 utilities.hpp 第 275 行定义.
std::vector<_Ty> winux::ToArray | ( | _Ty(&) | arr[_N] | ) |
在文件 utilities.hpp 第 281 行定义.
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字符串相互转换
URI组成部分编码,遵循RFC1738.
除了-_.~之外的所有非字母数字字符都将被替换成百分号()后跟两位十六进制数。 这是在RFC1738中描述的编码。
URL编码
除了-_.之外的所有非字母数字字符都将被替换成百分号()后跟两位十六进制数,空格则编码为加号(+)。 此编码与WWW表单POST数据的编码方式是一样的,同时与application/x-www-form-urlencoded的媒体类型编码方式一样。 由于历史原因,此编码在将空格编码为加号(+)方面与RFC1738编码不同。 此函数便于将字符串编码并将其用于URL的请求部分,同时它还便于将变量传递给下一页。
bool winux::ValueIsInArray | ( | StringArray const & | arr, |
String const & | val, | ||
bool | caseInsensitive = false |
||
) |
判断一个字符串值是否在一个字符串数组里,默认大小写敏感
int winux::VoidReturnInt | ( | _Fx | fn, |
_ArgType &&... | arg | ||
) |
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.hpp 第 18 行定义.
String const winux::LineSep = "\r\n" |
行分割符
在文件 filesys.hpp 第 19 行定义.
|
static |
非位置,值为-1。
在文件 utilities.hpp 第 240 行定义.
String const winux::PathEnvSep = ";" |
PATH环境变量路径分割符
在文件 filesys.hpp 第 20 行定义.