You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
1.3 KiB
C++

#pragma once
#include <vector>
#include <string>
#include "DllDefines.h"
typedef std::pair<std::string, std::string> myKeyValPair;
class UTILITYDLL CKeyValue
{
public:
CKeyValue(void);
~CKeyValue(void);
std::vector<std::string> splitspaces(const std::string& s);
std::vector<std::string> split(const std::string& s, char separator, bool bSinglePair = false);
std::vector<std::string> split(const std::vector<std::string>& vecLine, char chSeparator);
std::vector<myKeyValPair> splitKeyValPair(const std::vector<std::string>& vecLine, char chSeparator);
bool getKeyVal(const std::vector<myKeyValPair>& vecKeyValPair, const std::string& strKeyName, std::string& strValue);
std::vector<myKeyValPair>::iterator getKeyVal(const std::vector<myKeyValPair>::iterator& itBegin,
const std::vector<myKeyValPair>::iterator& itEnd,
const std::string& strKeyName, std::string& strValue);
bool isValueExist(std::vector<myKeyValPair>& vecKeyValPair, const std::string& strKeyName, const std::string& strTargetValue);
std::vector<std::string> splitfile(const std::string& strFileName, char chSeparator);
std::string splitnext(std::string& s, char chSeparator);
private:
std::string& ltrim(std::string& str);
std::string& rtrim(std::string& str);
std::string& trim(std::string& str);
};