最近工作中一直接觸gdi+,總是需要為了轉換字串花費不少功夫,寫了乙個簡易的字串輔助類去對字串進行轉化處理.
//字串輔助類
//在各種字串之間轉換(追求的是高效率的記憶體利用率)
//在速度方面欠佳(可以犧牲部分記憶體去提高速度)
class cstringhelper
operator wchar *()
~cstringhelper(void);
};#include "stdafx.h"
#include "stringhelper.h"
cstringhelper::cstringhelper(char *str)
cstringhelper::cstringhelper(wchar *strw)
cstringhelper::cstringhelper(void)
cstringhelper::~cstringhelper(void)
}char * cstringhelper::wchartochar(const wchar *strw)
//記憶體不夠再分配(可以直接分配(wcslen(strw)+1)*2)大小的char)
str=new char[size];
m_imaxmemsize = size;
//自動把0複製到最後
widechartomultibyte ( cp_acp, 0, strw, -1, str, size, null, null );
//儲存資料
if(m_pdata)
m_pdata = str;
return str;
}wchar * cstringhelper::chartowchar(const char *str)
//記憶體不夠再分配(可以直接分配(strlen(str)+1)大小的wchar)
strw=new wchar[wsize];
m_imaxmemsize = 2*(wsize);
multibytetowidechar(cp_acp, 0, str, strsize, strw, wsize);
//最後一位 置0
strw[wsize-1]=0;
//儲存之前先釋放記憶體防止記憶體洩露
if(m_pdata)
//儲存資料
m_pdata= strw;
return strw;
}wchar * cstringhelper::tchartowchar( tchar *str)
char * cstringhelper::tchartochar( tchar *str)
tchar *cstringhelper::chartotchar( char *str)
tchar *cstringhelper::wchartotchar(wchar *str)
字串處理 字串反轉
請原諒博主今天很閒,於是乎博主又開始更新微博了。這次要更新的問題是 編寫乙個函式,反轉乙個單詞的順序。例如 do or do not,there is no try.就要反轉成 try.no is there not,do or do 大家要認真看看這道題,這道題和大家想象的貌似有點不同。首先字串反...
字串處理
uncode與ansi字串轉換 我們使用windows函式multibytetowidechar將多位元組字串轉換成寬字元字串。函式如下 int multibytetowidechar uintcodepage dworddwflags lpcstrlpmultibytestr intcbmulti...
字串處理
byte array new byte 2 array system.text.encoding.default.getbytes 啊 int i1 short array 0 0 int i2 short array 1 0 unicode解碼方式下的漢字碼 array system.text.e...