Существуют любые функции Delphi RTL, эквивалентные swscanf - PullRequest
2 голосов
/ 28 января 2012

Я ищу функцию RTL delphi, эквивалентную функциям sscanf / swscanf C ++.Существует что-то подобное в функциях RTL delphi или я должен искать стороннюю реализацию?

Ответы [ 5 ]

5 голосов
/ 28 января 2012

Лично я бы просто вызвал реальные функции, которые можно импортировать из 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.

2 голосов
/ 28 января 2012

Уже есть похожий вопрос, на который я имел удовольствие ответить с небольшим количеством кода: https://stackoverflow.com/a/72713/12170

1 голос
/ 28 января 2012

Вы можете загрузить Функция сканирования для Delphi, которая перенесена в MSVC RTL.

0 голосов
/ 28 января 2012

Это устаревшие функции даже в C. Используйте что-то более современное и безопасное для анализа ваших данных.Это будет богатым источником ошибок в вашем приложении.Например, как вы намереваетесь сделать так, чтобы строковая функция scanf в стиле (wchar_t *) C взаимодействовала с Delphi Strings?

0 голосов
/ 28 января 2012

Есть порт sscanf на http://cc.embarcadero.com/item/24258, но, похоже, он предшествует Unicode, поэтому для XE могут потребоваться некоторые настройки.

...