1. AnsiStrLower、AnsiStrUpper
AnsiStrLower
function AnsiStrLower(Str: PChar): PChar;:将空终止字符串中的所有字符转换为小写字符。
- AnsiStrLower('ABCDEF'); //结果为abcdef
AnsiStrUpper
function AnsiStrUpper(Str: PChar): PChar;:将空终止字符串中的所有字符转换为大写字符。
2. AnsiStrPos、AnsiStrRScan、AnsiStrScan
AnsiStrPos
function AnsiStrPos(Str, SubStr: PChar): PChar;:返回参数Substr子字符串在参数Str字符串中首次出现的指针。如果SubStr在Str中未找到,则返回nil。AnsiStrPos主要用在MBCS环境中(与StrPos的本质区别)。
AnsiStrRScan
function AnsiStrRScan(Str: PChar; Chr: Char): PChar;:返回参数Chr字符在Str字符串中最后一次出现的指针。如果chr在str中未找到,则返回nil。AnsiStrRScan主要用在MBCS环境中(与StrRScan的本质区别)。
AnsiStrScan
function AnsiStrRScan(Str: PChar; Chr: Char): PChar;:返回参数Chr字符在Str字符串中首次出现的指针。如果chr在str中未找到,则返回nil。AnsiStrScan主要用在MBCS环境中(与StrScan的本质区别)。
3. ExtractString
function ExtractStrings(Separators, WhiteSpace: TSysCharSet; Content: PChar; Strings: TStrings): Integer;:按指定的分隔符将字符串分解,返回分解的字符串个数。Separator表示用于指定分割字符串的分隔符;WhiteSpace表示分解字符串时起始位置的字符串(可忽略);Content表示要分解的字符串;Strings表示存放分解后的字符串列表。
- s:='abc,defg,hijkl';
- count := ExtractStrings([','],[],PChar(s),Res); //count=3
4. LineStart
function LineStart(Buffer, BufPos: PChar): PChar;:返回缓冲区最后一行的指针。buffer表示缓冲区的起始位置;bufPos表示向后扫描的行码字符。
5. SearchBuf
extern PACKAGE char * __fastcall SearchBuf(char *Buf, int BufLen, int SelStart, int SelLength, AnsiString SearchString, TStringSearchOptions Options =TStringSearchOptions() << soDown);:查找一个字符串在文本缓冲区的起始位置所在的指针。其中,Buf表示文本缓冲区;BufLen表示文本缓冲区的长度;SelStart表示查找的起始位置;SelLength表示下次查找的偏移量;SearchString表示查找的字符串;Options表示属性设置(soDown表示run forward或run backward);如果未找到,则返回nil。
6. StrCat、StrLCat
StrCat
function StrCat(Dest: PChar; const Source: PChar): PChar;:将参数source中的字符添加到Dest字符串的尾部,Dest缓冲区中必须有足够的空间。其中,Dest表示目的缓冲区;Source表示源缓冲区。
- var
- str: array[1..15] of char;
- pstr : PChar;
- begin
- StrCopy(@str,'test');
- StrCat(@str,'_kimi');
- GetMem(pstr,sizeof(char) * 15);
- StrCopy(pstr,@str);
- Write(pstr); //输出结果为test_kimi
- FreeMem(pstr);
- end;
StrLCat
function StrLCat(Dest: PChar; const Source: PChar; MaxLen: Cardinal): PChar;:按参数MaxLen指定的长度将参数Source中的字符串添加到Dest参加的字符串尾部。其中MaxLen表示字符串连接的最大长度。
7. StrComp、StrLComp
StrComp
function StrComp(const Str1, Str2 : PChar): Integer;:比较两个字符的大小,区分大小写。其中Str1、Str2为两个字符串指针。如结果大于0,则说明Str1排在Str2字符之后;如结果小于0,则说明Str1排在Str2之前。
StrLComp
function StrLComp(const Str1, Str2: PChar; MaxLen: Cardinal): Integer;:比较两个字符的大小,不区分大小写。其中MaxLen代表比较的长度。
8. StrCopy、StrECopy、StrLCopy、StrPCopy、StrPLCopy
StrCopy
function StrCopy(Dest: PChar; const Source: PChar): PChar;:将参数Source中的字符复制Dest字符的尾部,Dest缓冲区中必须有足够的空间。其中,Dest表示目的缓冲区;Source表示源缓冲区。
StrECopy
function StrECopy(Dest: PChar; const Source: PChar): PChar;:与StrCopy最大的不同在于,StrECopy可以嵌套使用。
例如:
- StrECopy(StrECopy(S,Turbo),''),Pascal);
StrLCopy
function StrLCopy(Dest: PChar; const Source: PChar; MaxLen: Cardinal): PChar;:与StrCopy最大的不同在于,StrLCopy中指定了MaxLen参数长度的字符。
StrPCopy
function StrPCopy(Dest: PChar; const Source: string): PChar;:与StrCopy最大的不同在于,StrPCopy能返回Dest字符串的指针,与StrMove相似。
StrPLCopy
function StrPLCopy(Dest: PChar; const Source: string; MaxLen: Cardinal): PChar;:与StrPCopy最大的不同和StrCopy与StrLCopy的不同点一致。