2012-02-16 8 views
0

目的-cにBIO_new_file(myPath, "r")を使用してテキストファイルをロードしたいとします。 パスとして、現在のドキュメントディレクトリをバンドルから取得します。Objective-c bundleからBIOをロードする

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *fileName = [NSString stringWithFormat:@"%@/test.txt", documentsDirectory]; 

NSLog(@"%@", fileName); 

const char* cString = [fileName cStringUsingEncoding:NSUTF8StringEncoding]; 

BIO *temp = BIO_new_file(cString, "r"); 
if (!temp) { 
    NSLog(@"Could not load file!"); 
    assert(false); 
} 

ただし、ファイルを読み込めず、Could not load file!が届きました。

OpensslのBIOをobjective-cで使用する場合、これは既知の問題ですか?回避策はありますか?

答えて

0

おそらく、アプリケーションのドキュメントディレクトリにtest.txtという名前のファイルがありません。エラーコードを記録してみてください:

NSLog(@"error code = %s (%d)", strerror(errno), errno); 
+0

ありがとうございます。私はそのファイルがそこになければならないと確信していましたが、ドキュメントのディレクトリではなくバンドルのルートにありました。そのようなダンプの失敗は2時間かかりました...しかしそれはソフトウェア開発です;;) – Chris

関連する問題