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.

46 lines
1.3 KiB
C

1 month ago
#pragma once
#include "WDouble.h"
using wuya::WDouble;
class AFX_EXT_CLASS CStringUtility
{
public:
CStringUtility(void);
~CStringUtility(void);
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
* 1> <EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>TAB<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ϊ<EFBFBD>м<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
* 2> <EFBFBD>ո<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>У<EFBFBD><EFBFBD>ո<EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param [in] strLine һ<EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>
* [out] strarrrayResult <EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>
* [out] strDivided <EFBFBD>ָ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
static int AnalyzeLine(const CString& strLine,CStringArray& strarrayResult,const CString& strDivided = GetDividedDef());
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
* @param [in] strarray <EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* [in] str <EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1
*/
static int FindStringInArray(const CStringArray& strarray,const CString& str);
static CString GetString(WDouble wdValue);
static CString GetString(int iValue);
static void SetDividedDef(const CString& strDivided);
static CString GetDividedDef();
private:
static int AnalyzeOneLine(char* buf,int* a,const CString& strDivided);
static int AnalyzeOneLineC(char* buf,int* a); ///< <20><><EFBFBD>ö<EFBFBD><C3B6>ŷָ<C5B7>
static int AnalyzeOneLineT(char* buf,int* a); ///< <20><><EFBFBD><EFBFBD>TAB<41><42><EFBFBD>ָ<EFBFBD>
private:
static CString m_strDivided; ///< <20>ָ<EFBFBD><D6B8>ķ<EFBFBD><C4B7>š<EFBFBD>Ĭ<EFBFBD><C4AC>Ϊ_T(" \t,")
};