使用Pchar类型的问题:
pchar类型变量之间怎么赋值阿?
也即是说使用了strpos(str1,str2)函数之后,会返回一个pchar指针。Returns a pointer to the first occurrence of STR2 in STR1.
然后我想要从返回的这个指针的位置开始再向后面搜索同样的str2。那么我应该怎么做阿?
...全文
5612打赏收藏
使用Pchar类型的问题.
使用Pchar类型的问题: pchar类型变量之间怎么赋值阿? 也即是说使用了strpos(str1,str2)函数之后,会返回一个pchar指针。Returns a pointer to the first occurrence of STR2 in STR1. 然后我想要从返回的这个指针的位置开始再向后面搜索同样的str2。那么我应该怎么做阿?
procedure TForm1.FormCreate(Sender: TObject);
var
str1,str2,str3,str4,str:pchar;
i, n: Integer;
begin
str2:= 'www.csdn.com';
str1:= '.';
i := 0;
n := 2; // 查找第n个
str4 := str2;
str3 := StrPos(str2, str1);
str := nil;
while str3 <> nil do begin
Inc(i);
if i = n then begin
str := AllocMem(Integer(str3)-Integer(str4)+1);
StrLCopy(str, str4, Integer(str3)-Integer(str4));
Break;
end;
Inc(str3);
str4 := str3;
str3 := StrPos(str3, str1);
end;
if str = nil then begin
str := AllocMem(StrLen(str4)+1);
StrCopy(str, str4);
end;
ShowMessage(str);
FreeMem(str);
end;