Pascal字符串到指针

时间:2015-07-18 15:21:18

标签: string pointers pascal

我试图在sdl中创建日志,我需要写时间。 文字必须是指针。

date //pointer
:=
DateTimeToStr(Now);// AnsiString

这里的日期是指针,DateTimeToStr(Now)返回AnsiString,编译器停在那里。 如何解决?

2 个答案:

答案 0 :(得分:0)

我假设你正在使用Delphi或FreePascal。您当前的代码会出现Incompatible Types错误。您需要将DateTimeToStr(Now)的结果分配给字符串,并将指针指定给该字符串的地址。这是一个例子。

procedure ShowDateTime;
var
  date: ^AnsiString;
  str: AnsiString;
begin
  str := DateTimeToStr(Now);
  date := @str;
  Writeln(date^);
end;  

了解如何使用DelphiFreePascal中的指针。

答案 1 :(得分:0)

解决方案是使用PCharpointer to Char

var
  str: AnsiString;
  pDateStr: PChar;
...
  str := DateTimeToStr(Now);
  pDateStr := PChar(str);
  // Do whatever you want with the PChar pDateStr