-1

Object c++ および Xcode 5 で記述されたコードに問題があります。

NSLog(@"%@",pathToFile);
    NSString *outputFileName = [NSTemporaryDirectory() stringByAppendingPathComponent:@"output.txt"];

    FILE* fileo = fopen([outputFileName UTF8String], "w");
    if (fileo) fclose(fileo);
    fileo = fopen([outputFileName UTF8String], "a");
    if (!fileo) { perror("fopen"); NSLog(@" Wrong"); } else { NSLog(@"Nothing Wrong"); }

    //Open the PDF source file:
    //  FILE* filei = fopen("c:\\pdf\\somepdf.pdf", "rb");
    FILE* filei = fopen([pathToFile UTF8String], "rb");
if (!filei) { perror("fopen"); NSLog(@" Wrong"); } else { NSLog(@"Nothing Wrong"); }

    if (filei && fileo)
    {

問題は filei が毎回 Nil であり、理由がわからないことです。問題はpathtoFileだと思います:それは:pathToFileです

__NSCFString *  @"file:///private/var/mobile/Applications/3D02CBE0-6A8E-4709-B6EF-B6793E19F4F4/Documents/Inbox/Published_071032-8.pdf"

0x145c53e0

このコードはシミュレーターではうまく機能しますが、iPhone では機能しません! 誰かが何が悪いのか考えていますか?

作業ディレクトリかもしれませんが、xcode 5 で変更する方法はありません。

4

1 に答える 1

0

はい、ファイルのパスに問題があるようです。@"file://..."UNIXファイルシステムはパスに直接基づいているため、次のようなものを見たと確信しています。/var/mobile/.../

次に、pathToFile 文字列を定義する場所を確認することをお勧めします。同じ関数/メソッド内で作成したため、スタック上に作成されたため、すでに範囲外になっている可能性があります。

NULLそれが/である理由かもしれませんnil

おそらく解決策:クラスに基づいてパスを作成し、パスをNSBundle使用しないでfile://ください。

動作するか、追加のヘルプが必要かどうかお知らせください。よろしくお願いします

于 2013-10-26T13:18:23.473 に答える