0
iOS 4.2.1を実行するiPod touchと、iOS 4.2を実行するシミュレータがあります。シミュレータでは、私のコードは正常に動作しますが、デバイス上ではクラッシュします。fprintfはデバイスをクラッシュさせますがシミュレータは使用しませんか?
問題のコードは次のとおりです。
FILE *file = fopen([[@"niplot/" stringByAppendingString:text_field.text] fileSystemRepresentation], "w");
...
fprintf(file, "%s", [print_str UTF8String]); //crash occurs here, EXC BAD ACCESS
...
fclose(file);
それが存在しないファイルやフォルダとは何かを持ってもらえますか?この場合、シミュレータが私のために作成しました。私は、デバイス上で手動でファイルやフォルダを作成しようとしていましたが、どうしたらよいか分かりません。また、.txt拡張子の有無にかかわらずファイル名を試してみました。
好奇心のため、ネイティブファイル処理メカニズムを使用してみませんか? – KevinDTimm
どのようなネイティブファイル処理メカニズムですか?私は何も見つけられず、CのファイルAPIを使用することにも慣れています。 – Outback
あなたのprintfは問題ではなく、 'fopen'で、相対パス名であり、デバイスはシミュレータよりも厳密にサンドボックス化されています(起動ディレクトリも2つで異なるかもしれません) – bshirley