2012-11-23 211 views
2

XCode中的函數fopen(FILE *fp)它不工作,我把文本文件放在根目錄下,但不工作,這很奇怪,因爲從終端執行正常,但是從IDE執行不行。fopen不能與XCode一起工作

,我使用的是這樣做的sintax:

FILE *fp=fopen("name.txt", "r"); 
if(fp==NULL) 
{ 
    printf("the text file can't be opened"); 
    exit(0); 
} 
else 
    return fp; 

而且總是返回NULL

+1

從IDE執行時,必須在與'root'不同的目錄中執行。將'strerror(ernno)'添加到'printf()'來發現fopen()失敗的原因。 – hmjd

+0

「Xcode」中的含義是什麼? ** Xcode與這無關。** – 2012-11-23 14:57:30

+0

@ H2CO3從Xcode IDE,Xcode配置中運行程序,以指定在執行時在所述目錄中打開文件的當前工作目錄具有*所有內容*有了這個。 – WhozCraig

回答

15

那麼通過xcode運行時工作目錄是什麼?
默認情況下,IIRC未設置,這可能是IDE和終端之間的區別。

- 設置工作目錄:

去: 產品>方案>修改方案......

那裏去:
選項選項卡,然後選擇一個工作目錄

+0

+1:Xcode方案是在IDE下運行程序的許多不太直觀的概念。它包含了豐富的選項,包括程序參數,工作目錄等。如果他想從指定的工作目錄運行他的程序,同時也推動他看看還有什麼方案可用。 – WhozCraig

+0

解決方案放在整個路由中,就像「/Users/User/Documents/Develop/file.txt」感謝您的幫助。 – Chepeman

+0

當然,這也可以工作,因爲你根本不需要工作目錄:)可能它最好也是(IMO) –

0

這是因爲你的根目錄不是你的IDE的工作目錄。可以更改配置以使用根目錄作爲IDE的工作目錄,也可以將name.txt放在IDE的工作目錄中。