2012-01-27 9 views
2

sscanf/swscanf C++関数と同等のRTLデルファイ関数を探しています。 RTLのデルファイ関数のようなものが存在するのですか、あるいはサードパーティの実装を探す必要がありますか?swscanfと同等のDelphi RTL関数が存在する

+0

可能な複製[Delphiで* SysUtils.Format *の逆関数がありますか?](http://stackoverflow.com/questions/72672/is-there-an-inverse-function-of-sysutils-format- in-delphi) –

答えて

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標準ライブラリ関数の堅牢な実装です。

+0

msvcrt.dllを再配布しても構いません。悪い考えではありません。 –

+2

@WarrenP kernel32.dll、gdi32.dllなどを再配布する必要がないので、msvcrt.dllを再配布する必要はありません。これはOS Windowsの一部です。 – kludg

+0

はい、Windows 2000以降、msvcrtは標準のWindowsコンポーネントです。これはMSVC6のCランタイムです。 –

0

http://cc.embarcadero.com/item/24258にはsscanfのポートがありますが、これはUnicodeの日付以前になっていますので、XEにはいくつかの調整が必要な場合があります。

0

これらはCでも廃止された関数です。より現代的で型の悪いものを使ってデータを解析します。これは、アプリケーションのエラーの豊富なソースになるでしょう。たとえば、(wchar_t *) Cスタイルのscanf文字列関数をDelphiの文字列と相互運用させるにはどうすればよいですか?

+0

\ 0中毒という理由だけで廃止されているのではなく、-nバージョンがまだ許可されていますか? –

+1

これらの関数は、まったく推奨されていません。 –

+0

'_s'と' _s_l'のバージョンは非推奨です。 –

1

download MSVC RTL関数が移植されたDelphiのスキャン機能。

関連する問題