D
ddzhouqian
Unregistered / Unconfirmed
GUEST, unregistred user!
实现功能如下:
有一字符串,转换成pchar类型后,做如下处理:判断每个字符的是否是我需要的.
大致代码如下:
procedure TForm1.Button3Click(Sender: TObject);
var s1:String;
p1char;
begin
s1:='0123AB';
GetMem(p1, sizeof(char) * length(s1));
p1:=PChar(s1);
while p1<>nil do
begin
if p1^ in ['0'..'9','a'..'f','A'..'Z'] then
begin
showmessage('ok');
end;
inc(p1)
end;
FreeMem(p1);
end;
我现在的结果是返回的次数已经超过了s1的长度,是不是我没加结束符号啊?可我申请了内存空间了啊.不懂,求知人告知,多谢!
有一字符串,转换成pchar类型后,做如下处理:判断每个字符的是否是我需要的.
大致代码如下:
procedure TForm1.Button3Click(Sender: TObject);
var s1:String;
p1char;
begin
s1:='0123AB';
GetMem(p1, sizeof(char) * length(s1));
p1:=PChar(s1);
while p1<>nil do
begin
if p1^ in ['0'..'9','a'..'f','A'..'Z'] then
begin
showmessage('ok');
end;
inc(p1)
end;
FreeMem(p1);
end;
我现在的结果是返回的次数已经超过了s1的长度,是不是我没加结束符号啊?可我申请了内存空间了啊.不懂,求知人告知,多谢!