wxWidget文件路径处理及字符串拆分

好久没有发文章了,发点福利放点代码吧,废话不多说,直接上代码:

头文件:

#ifndef WXWIDGETHELPER_H#define WXWIDGETHELPER_H#pragma once#include <wx/filename.h>#include <wx/arrstr.h>/*** @brief获取文件路径.* @param sFilePath文件路径.* @retrivewxString文件路径.* @remarks Use like this:* @code wxString s = GetFilePath("temp\\DEM.tif"); //结果为:"temp* @endcode* @authorZhengwen.Fu* @history- 1.Created by Zhengwen.Fu on 4th Feb,2015. */wxString GetFilePath(wxString sFilePath);/*** @brief获取文件名,不带扩展名.* @param sFilePath文件路径.* @retrivewxString文件名.* @remarks Use like this:* @code wxString s = GetFileName("temp\\DEM.tif"); //结果为:DEM* @endcode* @authorZhengwen.Fu* @history- 1.Created by Zhengwen.Fu on 4th Feb,2015. */wxString GetFileName(wxString sFilePath);/*** @brief获取完整的文件名.* @param sFilePath文件路径.* @retrivewxString文件名.* @remarks Use like this:* @code wxString s = GetFullName("temp\\DEM.tif"); //结果为:DEM.tif* @endcode* @authorZhengwen.Fu* @history- 1.Created by Zhengwen.Fu on 4th Feb,2015. */wxString GetFullName(wxString sFilePath);/*** @brief使用原始路径,拼接新的文件名生成新的文件路径.* @param sFilePath文件路径.* @param sAppendName新文件名.* @retrivewxString新文件路径.* @remarks Use like this:* @code wxString s = GetNewFullPath("temp\\DEM.tif","Avg.tif"); //结果为:temp\\Avg.tif* @endcode* @authorZhengwen.Fu* @history- 1.Created by Zhengwen.Fu on 4th Feb,2015. */wxString GetNewFullPath(wxString sFilePath,wxString sNewFileName);/*** @brief使用原始路径及文件名,,拼接新的字符串生成新的文件路径.* @param sFilePath文件路径.* @param sAppendName需要附加的文件名.* @retrivewxString新文件路径.* @remarks Use like this:* @code wxString s = GetNewFullPath2("temp\\DEM.tif","_Avg.tif"); //结果为:temp\\DEM_Avg.tif* @endcode* @authorZhengwen.Fu* @history- 1.Created by Zhengwen.Fu on 4th Feb,2015. */wxString GetNewFullPath2(wxString sFilePath,wxString sAppendName);/*** @brief分割字符串.* @param pString[in]待分割字符串.* @param cSpliter[in]分隔字符.* @remarks Use like this:* @codewxArrayString arry = wxSplitString("a,b,c,d",',');size_t count = arry.GetCount();wxPrintf(_T("\arrysize = %u\n"), count);for ( size_t arg = 0; arg < count; arg++ ){wxPrintf(_T("\tarry[%u] = %s\n"), arg, arry[arg].c_str());}* @endcode* @authorZhengwen.Fu* @history- 1.Created by Zhengwen.Fu on 25th Mar,2015. */wxArrayString wxSplitString(const wxChar *pString,const wxChar cSpliter);/*** @brief分割字符串.* @param pString[in]待分割字符串.* @param pSpliter[in]分隔字符串.* @remarks Use like this:* @codewxArrayString arry = wxSplitString(",,a,b,,,c,,,d,adsdsd,sdfwee,dddd,",",");size_t count = arry.GetCount();wxPrintf(_T("\arrysize = %u\n"), count);for ( size_t arg = 0; arg < count; arg++ ){wxPrintf(_T("\tarry[%u] = %s\n"), arg, arry[arg].c_str());}* @endcode* @authorZhengwen.Fu* @history- 1.Created by Zhengwen.Fu on 25th Mar,2015. */wxArrayString wxSplitString(const wxChar *pString,const wxChar *pSpliter);#endif源文件:

#include "wxWidgetHelper.h"wxString GetFilePath(wxString sFilePath){wxFileName fName(sFilePath);return fName.GetPath();}wxString GetFileName(wxString sFilePath){wxFileName fName(sFilePath);return fName.GetName();}wxString GetFullName(wxString sFilePath){wxFileName fName(sFilePath);return fName.GetFullName();}wxString GetNewFullPath(wxString sFilePath,wxString sNewFileName){wxFileName fName(sFilePath);return (fName.GetPath()+"\\"+sNewFileName);}wxString GetNewFullPath2(wxString sFilePath,wxString sAppendName){wxFileName fName(sFilePath);return (fName.GetPath()+"\\"+fName.GetName()+sAppendName);}wxArrayString wxSplitString(const wxChar *p,const wxChar cSpliter){wxArrayString arry;wxString str;str.reserve(1024);while (true){while(*p==cSpliter)p++;if(*p == _T('\0'))break;for (str.Clear();;p++){if(*p==cSpliter || *p == _T('\0'))break;str += *p;}arry.push_back(str);}return arry;}wxArrayString wxSplitString(const wxChar *pString,const wxChar *pSpliter){wxArrayString arry;wxString s(pString);while (true){int pos = s.Find(pSpliter);if (pos == 0){s = s.substr(1);continue;}if(pos == wxString::npos ){if(s.Length() > 0)arry.push_back(s.Trim());break;}arry.push_back(s.substr(0,pos));s = s.substr(pos+1);}return arry;}OK了,具体用法在注释中有。

当你能梦的时候就不要放弃梦

wxWidget文件路径处理及字符串拆分

相关文章:

你感兴趣的文章:

标签云: