存在与swscanf等效的任何Delphi RTL功能

时间:2012-01-27 20:07:19

标签: delphi delphi-xe

我正在寻找与sscanf/swscanf C ++函数等效的RTL delphi函数。在RTL delphi函数中存在类似的东西,或者我必须寻找第三方实现?

5 个答案:

答案 0 :(得分:5)

我个人只会调用可以从msvcrt.dll导入的实际函数。

function sscanf(buffer, format: PAnsiChar): Integer; 
    cdecl; varargs; external 'msvcrt.dll';
function swscanf(buffer, format: PWideChar): Integer; 
    cdecl; varargs; external 'msvcrt.dll';

这些是经过试验和测试的C标准库函数的强大实现。

答案 1 :(得分:2)

已经有类似的问题,我有幸回答了一些代码:https://stackoverflow.com/a/72713/12170

答案 2 :(得分:1)

您可以download扫描Delphi的扫描功能,它可以移植MSVC RTL功能。

答案 3 :(得分:0)

http://cc.embarcadero.com/item/24258有一个sscanf端口,但它看起来早于Unicode,所以可能需要对XE进行一些调整。

答案 4 :(得分:0)

即使在C中,这些也是不推荐使用的功能。使用更现代和类型安全的东西来解析数据。这将是您的应用程序中丰富的错误来源。例如,您打算如何使(wchar_t *) C样式的scanf字符串函数与Delphi Strings互操作?