3

こんにちは、コンソールから読み取るファイル ハンドラーを作成することと、scanf () を使用することの違いは何ですか?

4

1 に答える 1

2

2 つのアプローチはスタイルが異なります。C 関数などは C 文字列を操作し、scanf 手続き的な方法で多くのポインターを受け取ります。NSFileHandle 他は、Objective-C 文字列を操作し、ポインターを介して複数ではなく単一の値を返す傾向があり、メソッドベースです。

選択はあなた次第です。たとえば、単にコンソールから数値を読み取る必要がある場合はscanf、Objective-C クラスを使用して数値を読み取ることができますが、C 関数はここではより直接的です。

C 関数を使用する場合は、有効なポインター、バッファー オーバーランなどに対して通常の注意を払う必要があります。

同じコードで 2 つを混在させることができますが、それぞれが独自のバッファリング (の一部) を行うため、注意が必要です。

あなたの問題がscanfObjective-Cに同等のものがないということであり、残りのI / OにObjective-Cクラスを使用しながら入力を解析したい場合は、入力を文字列として読み取ってからsscanf(適切なC 型と Obj-C 型の間の変換) を使用して、これらの文字列を解析します。

HTH。

于 2013-10-24T18:06:49.090 に答える