16,749
社区成员
发帖
与我相关
我的任务
分享
const
msvcrt = 'msvcrt.dll';
//int sscanf( const char *buffer, const char *format [, argument ] ... );
//int swscanf( const wchar_t *buffer, const wchar_t *format [, argument ] ... );
function sscanf(buffer: PAnsiChar; const format: PAnsiChar): integer; cdecl; varargs; external msvcrt;
function swscanf(buffer: PChar; const format: PChar): integer; cdecl; varargs; external msvcrt; // Delphi 2009+
procedure test;
var
a, b, c, d, e: integer;
begin
swscanf('M:RSSI= -54, SNR= 25, SEQ= 146, PER= 0/ 5', 'M:RSSI= %d, SNR= %d, SEQ= %d, PER= %d/ %d', @a, @b, @c, @d, @e);
// use a b c d e
end;
你也可以使用jedi code library中的sscanf函数(位于jclsscanf.pas ),是pascal原生实现。