2011-08-05 14 views
1

私は "0.ballpoint"というファイルを持っています。私がやりたいことは、いくつかの座標を保存することです。私はプロジェクトに配置しましたが、これをやろうとしたときに:FILE *をiPhoneで使用する方法

if (access("0.ballpoint", F_OK) != -1) { 
    printf("file exists\n"); 
} 
else { 
    printf("doesn't exist\n"); 
} 

「存在しません」と表示されます。完全なパス名を入力する必要がありますか?そして、もし私が実際のiPhone/iPod Touchに置いたら、私は何をすればいいのですか?

答えて

0

CoreDataは、ファイルアクセス用ではありません。 iPhone用の他のファイルAPIがあります。 NSFileManagerNSStreamのドキュメントをご覧ください。例えば

あなたの意図は、ファイルが特定のパスに存在するかどうかをチェックするためであれば、あなたは

NSString *filePath = [[NSBundle mainBundle] pathForResource: @"0" ofType: @"ballpoint"]; 
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:filePath]; 

は、低レベルのもの(Cファイルハンドル)を使用しない(リソースにファイルを追加) を使用することができます正当な理由がある場合を除きます。パスは慎重に選択する必要があります(将来は存在しなくなる可能性のある特定のパスについて仮定を行うことはできません)。

は、だから私は、彼らがコアデータとあなたが対処することができますものを持っているので、(あなたは?確信しているiPhone上でそれをテストする必要があり

NSString *filePath = [[NSBundle mainBundle] pathForResource: @"0" ofType: @"ballpoint"]; 
FILE *fileHandle = fopen([filePath cStringUsingEncoding:NSASCIIStringEncoding],"r"); 
+0

まだ試してみると、正当だがバットの右のようだ: "@"は "0"と "ボールポイント"の前に、 "r"の後は ")"にする必要があります。 – Dair

+0

が修正されましたので、どうかどうかsytaxエラー(スペルチェックなど)を確認してください:) – Tatvamasi

+0

"r"の後に括弧を削除する必要があります。 – Dair

-1

あなたのアプリケーションでは、アプリケーションの使用中にいつでもファイルを取り出せるようにする必要があります。

私はWindows Phone 7のデベロッパーでも教育を受けていませんが、あなたのコンピュータにまだアクセスしていない場合はアクセスできません。あなたのアプリケーションにいくつかのやり方でそれを呼び出す必要があります完全なファイルパス名。

+0

、あなたがCのファイル処理で作業することを好む場合は、と述べましたiPhoneシミュレータのファイルを使用して)?そして、完全なファイルパスがそのためにはどんなものか知っていますか? – Dair

+0

正常に動作する場合は、エミュレータで正しく実行できるはずです。 – Keeano

+0

あなたは、アプリケーション内のページにどのようにナビゲートし、コンパイルしてレンダリングできるファイルタイプにナビゲートするかを知っています。ファイルをアプリケーションにバインドしてコードから呼び出す必要があります。 – Keeano

関連する問題