/如果本文有不對的地方,望即時指點!
字串的初始化
定義乙個unicode_string型別的變數,這只是乙個空的結構體而已,我們並沒有給它分配任何的記憶體。如果直接對其進行字串拷貝等操作,肯定會 引起異常的,當我們定義這樣型別的乙個變數,我們應該就把它看作乙個wchar型的指標,沒有「new」空間,所以我們必須去「new」空間給它。
typedef struct
unicode_string, *punicode_string;
有以下幾種方式:
1.rtlinitemptyunicodestring
unicode_string str;
wchar wcsbuffer[1024] = ;
rtlemptyunicodestring(&str, wcsbuffer, sizeof(wcsbuffer));
這種方式就像定義乙個靜態的串 wchar wcsbuffer[1024] = 。
2.動態申請空間
unicode_string str;
str.buffer = (pwchar)exallocatepoolwithtag(nonpagepool, 1024, 『1234』);
str.length = 0;
str.maximumlength = 1024;
這種方式就像定義乙個wchar* pwcsbuffer = new wchar[1024];
使用完之後,必須釋放記憶體。
exfreepool或者是exfreepoolwithtag。
3.定義常量unicode_string
可以使用巨集rtl_constant_string
unicode_string str = rtl_constant_string(l」my first string」);
記住這個字串不能再被修改,因為這就像定義了char *str = 「123」; 該字串不能再被修改。
字串的拷貝
rtlcopyunicodestring(&dst, &src);
字串的連線
驅動中使用的字串操作函式,這裡給出ansi和unicode的對比
操作
ansi串函式
unicode串函式
length
strlen
wcslen
concatenate
strcatstrncat
wcscatwcsncat
copy
strcpystrncpy
rtlcopystring
wcscpywcsncpy
trlcopyunicodestring
reverse
_strrev
_wcsrev
compare
strcmpstrncmp
_stricmp
_strnicmp
rtlcomparestring
rtlequalstring
wcscmpwcsncmp
_wcsicmp
_wcsnicmp
rtlcompareunicodestring
rtlequalunicodestring
rtlprefixunicodestring
initialize
_strset_strnset
rtlinitansistring
rtlinitstring
_wcsnsetrtlinitunicodestring
search
strchrstrrchr
strspn
strstr
wcschrwcsrchr
wcsspn
wcsstr
upper/lowercase
_strlwr_strupr
rtlupperstring,
_wcslwr_wcsupr
rtlupcaseunicodestring
character
isdigitislower
isprint
isspace
isupper
isxdigit
tolower
toupper
rtlupperchar
towolowertowupper
rtlupcaseunicodestring
format
sprintfvsprintf
_snprintf
_vsnprintf
swprintf_snwprintf
string conversion
atoiatoll
_itoa
_itowrtlintegertounicodestring
rtlunicodestringtointeger
type conversion
rtlansistringtounicodestringrtlansistringtounicodestring
rtlunicodestringtoansistring
memory release
rtlfreeansistring
rtlfreeunicodestring
lisp中的字串和字串操作
lisp使用雙引號表示字串字面量 cl user abc abc 如果要包含雙引號用 轉義 cl user a bc a bc 如果包含 本身,也需要 轉義 cl user a bc a bc 插入變數 第三方cl interpol包可以把乙個變數的值插入字串中 1.安裝 ql quickload ...
動中字串的操作
核心 驅動 驅動中字串的操作 如果本文有不對的地方,望即時指點!字串的初始化 定義乙個unicode string型別的變數,這只是乙個空的結構體而已,我們並沒有給它分配任何的記憶體。如果直接對其進行字串拷貝等操作,肯定會引起異常的,當我們定義這樣型別的乙個變數,我們應該就把它看作乙個wchar型的...
LoadRunner中字串的操作
loadrunner中常用的字串操作函式有 strcpy destination string,source string atoi string to convert to int returns the integer value itoa integer to conver to string...