//--------------------------------------------------------------------------- #ifndef stdToolsH #define stdToolsH //--------------------------------------------------------------------------- #include //--------------------------------------------------------------------------- //template //std::string toStdStr(T val); //std::string FloatToStdStr(float val); std::string IntToStdStr(int val); //Вырезает из строки не цифры std::string FloatToStdStr(double val,int digits = -1); template std::wstring toStdWStr(T val); std::wstring IntToStdWStr(int val); template std::string toStringHex(T val); std::string toStringHex2(int val); template T fromString(const std::string& s); int StdStrToInt(std::string& str, bool cutInt = false); int StdStrToUInt(std::string& str, bool cutInt = false); float StdStrToFloat(std::string& str); double StdStrToDouble(std::string& str); template T fromWString(const std::wstring& s); int StdWStrToInt(const std::wstring& s); //Конвертация строк std::string CodeBSD(std::string str); ///<Закодировать число в двоично десятичный формат std::string CodeBSD(int val,int len = 0); ///<Закодировать число в двоично десятичный формат int BSDToInt(char chr); //Двоично десятичный символ в int int BSDToInt(std::string str, size_t start = 0, size_t len = 0); //Двоично десятичную строку в int std::string DecodeBSD(char chr); //1 символ в BSD число std::string DecodeBSD(std::string str, size_t start = 0, size_t len = 0); //Раскодироваьт из двоично десятичного формата std::wstring StringToWString(const std::string& in, const std::locale &loc); // = std::locale("rus") //Конвертация из одно байтного в мульти и обратно std::string WStringToString(const std::wstring &s, const std::locale &loc, char default_char = '?'); // = std::locale("rus") std::wstring s2ws(const std::string& s); //В c++ buildere это работало а StringToWString нет std::string ws2s(const std::wstring& s); std::string convUTF16ToUTF8(const std::wstring& widestring); //Конвертация из UTF16LE в UTF8 std::wstring convUTF8ToUTF16(const std::string& str); //Конвертация из UTF8 в UTF16LE std::string UnicodeToDOS886(std::wstring str); //Конвертим из Unicode в DOS 866 кодировку std::wstring DOS886ToUnicode(std::string str); //Конвертим из DOS 866 в Unicode кодировку void replaseChars(std::string& str,char oldCh,char newCh); //Заменить 1 символ другим // std::string replace(std::string text, std::string s, std::string d); // std::string getExePath(); std::wstring UpperCase(const std::wstring& str); ///<К верхнему регистру строку (долго работает) std::string BeforeLast(std::string str,char ch); std::wstring BeforeWLast(std::wstring str,wchar_t ch); std::string BeforeFirst(std::string str,const char ch); std::wstring BeforeWFirst(std::wstring str,const wchar_t ch); std::string AfterFirst(std::string str,const char ch); std::wstring AfterWFirst(std::wstring str,const wchar_t ch); std::string AfterLast(std::string str,const char ch); std::string CutBeforeFirst(std::string& str,const char ch); std::wstring CutBeforeWFirst(std::wstring& str,const wchar_t ch); std::string replaceStrings(std::string sors,std::string find,std::string repl); std::wstring replaceStrings(std::wstring sors,std::wstring find,std::wstring repl); std::string trim(const std::string & s); //Удалить пробелы в начале и конце строки std::string add0(std::string str); //Добавить 0 в начало строоки если 1 символ для даты нужно std::string getStrDate(); std::wstring getWStrDate(); std::string getDateTime(); std::string getAppPathA(); //Путь к DLL либо к EXE std::wstring getAppPathW(); //Путь к DLL //------------------------------------------------------------------------------ /*struct TIniStructSTD { TIniStructSTD *next; //След. значение std::wstring section; //Секция std::wstring ident; //Идентификатор std::wstring value; //Значение }; class TIniFileSTD { private: std::wstring path; TIniStructSTD *first; //Первый из списка TIniStructSTD *last; public: TIniFileSTD(std::wstring path); virtual ~TIniFileSTD(); std::string ReadString(std::string Section,std::string Ident,std::string Default); //float ReadFloat(std::wstring Section,std::wstring Ident,float Default); //long ReadLong(std::wstring Section,std::wstring Ident,long Default); //unsigned long ReadULong(std::wstring Section,std::wstring Ident,unsigned long Default); //bool ReadBool(std::wstring Section,std::wstring Ident,bool Default); void WriteString(std::string Section,std::string Ident,std::string Value); //void WriteFloat(std::wstring Section,std::wstring Ident,float Value); //void WriteLong(std::wstring Section,std::wstring Ident,long Value); //void WriteULong(std::wstring Section,std::wstring Ident,unsigned long Value); //void WriteBool(std::wstring Section,std::wstring Ident,bool Value); void Save(); //Сохранить из памяти в файл };*/ //------------------------------------------------------------------------------ #endif