我试图在sdl中创建日志,我需要写时间。 文字必须是指针。
date //pointer
:=
DateTimeToStr(Now);// AnsiString
这里的日期是指针,DateTimeToStr(Now)返回AnsiString,编译器停在那里。 如何解决?
答案 0 :(得分:0)
我假设你正在使用Delphi或FreePascal。您当前的代码会出现Incompatible Types
错误。您需要将DateTimeToStr(Now)
的结果分配给字符串,并将指针指定给该字符串的地址。这是一个例子。
procedure ShowDateTime;
var
date: ^AnsiString;
str: AnsiString;
begin
str := DateTimeToStr(Now);
date := @str;
Writeln(date^);
end;
了解如何使用Delphi或FreePascal中的指针。
答案 1 :(得分:0)
解决方案是使用PChar
,pointer to Char
。
var
str: AnsiString;
pDateStr: PChar;
...
str := DateTimeToStr(Now);
pDateStr := PChar(str);
// Do whatever you want with the PChar pDateStr