複数の書式指定子に従って、文字列を異なるデータ型のオブジェクトの配列に変換する方法はありますか?フォーマット指定子を使用して文字列をオブジェクトの配列にアンパック
私はinitWithFormat:arguments:
を試しましたが、期待した結果が得られません。 struct
モジュールのunpack(fmt,String)
のPythonにも同様の機能があります。fmt
は書式指定文字列、String
は変換する文字列です。
複数の書式指定子に従って、文字列を異なるデータ型のオブジェクトの配列に変換する方法はありますか?フォーマット指定子を使用して文字列をオブジェクトの配列にアンパック
私はinitWithFormat:arguments:
を試しましたが、期待した結果が得られません。 struct
モジュールのunpack(fmt,String)
のPythonにも同様の機能があります。fmt
は書式指定文字列、String
は変換する文字列です。
はsscanf
に見て:
void unpackStr(NSString *string, NSString *format, ...)
{
va_list args;
va_start(args, format);
vsscanf([string UTF8String], [format UTF8String], args);
va_end(args);
}
こんにちは、あなたが提供したコードは、期待された結果を与えていません。私は文字列を表示するためのテストを行っています_ ** 123495885aaaaa_しかし結果は_ **2686712268671241008576002686760268671253239441727800024PYõfÀYõf°SõfpRõfRõf QõfQõf** _ – simplygauz
あなたは 'args'にどのような形式を送りますか?あなたはsscanfドキュメントを読んだことがありますか? –
フォーマットと文字列のva_listの前にva_endの前にprintfを1つ追加しました。出力は以下の通りです
フォーマット:%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i% :123495885aaaaa
値:2686728 2686728 5 0 1728095392 1727081904 2686728 1728095392 1727996152PYõfÀYõf°SõfpRõfRõf QõfQõf –
simplygauz
だから、何をしたいのNSStringのための 'scanf'機能ですか? –
私はあなたが 'NSScanner'を望むと思います。ここに例があります:http://stackoverflow.com/questions/594797/how-to-use-nsscanner – trojanfoe