我正在寻找与sscanf/swscanf C ++函数等效的RTL delphi函数。在RTL delphi函数中存在类似的东西,或者我必须寻找第三方实现?
答案 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互操作?