2013-10-26 167 views
-1

上的文件我已經在Xcode 5的代碼寫在對象C++和問題:問題訪問iOS設備

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是每次N11和我down't知道爲什麼,! 我認爲這個問題是pathtoFile: 是:pathToFile

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

0x145c53e0 

代碼工作在模擬器偉大的,但不是在iPhone上! 有別人的想法什麼是錯?

工作目錄可能,但也沒有辦法去改變它在Xcode 5

+0

標題說C,問題身體說「對象C++」(不管是什麼),標籤說C++。怎麼辦? – 2013-10-26 12:58:33

+1

(耶和全部大寫用戶名...) – 2013-10-26 12:59:17

+1

http://theoatmeal.com/pl/minor_differences/capslock – learnvst

回答

0

是看起來像你的文件的路徑問題。我甚至確定價格,你看到像@"file://..."因爲unix文件系統是直接基於路徑,例如/var/mobile/.../

接下來我會建議你檢查你在哪裏定義pathToFile字符串。也許它已經超出了範圍,因爲它是在棧中,因爲你同樣的功能/方法中創建它創造。

這也許就是爲什麼它是NULL/nil

也許一個解決方案:創建基於NSBundle類的路徑+不要使用file:// -paths。

讓我知道它是否有效或需要任何其他幫助。 謝謝 關於

+0

THx中這是問題! –

+0

我想我也將writeToFile問題:原子:」已過時:在iOS中2.0第一個棄用 –