字串處理

2021-04-06 12:19:36 字數 1411 閱讀 3303

最近工作中一直接觸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...