2011-05-22 70 views
1

我在Mac OS 10.4上編寫香草C代碼。我只是想打開()一個文件,以便在可執行文件附近寫入文件夾。香草C fopen路徑到相鄰的文件夾

我不能爲我的生活弄清楚 路徑名的正確語法。

FILE *fout; 

fopen(fout, "foldername/filename", "w") 

肯定不行。

我願意回到根部,如果有必要,但不能 數字,一個出來,要麼。

有人可以幫助這個「簡單」的問題嗎?

+3

你得到了什麼錯誤信息? – 2011-05-22 02:00:26

+2

不應該是'fout = fopen(「文件夾名稱/文件名」,「w」);'? – MByD 2011-05-22 02:01:29

+0

@MByD:你是絕對正確的:'FILE * fopen(const char * path,const char * mode);' – 0xC0000022L 2011-05-22 02:27:23

回答

3

如果進程的當前工作目錄是/Users/you/your_program,並且希望在/Users/you/foldername/filename的文件,然後你需要指定:

fp = fopen("../foldername/filename", "w"); 

..向上移動一個級別。這是Unix和Windows上的模式。這是「相鄰」的合理解釋 - 它在層次結構中與當前層次相同的文件夾中創建文件。

+0

當然,對fopen的調用在問題中已經是明顯錯誤的了。那麼還有什麼/失蹤?仍+1。 – 0xC0000022L 2011-05-22 02:48:51

+0

@STATUS:我甚至沒有注意到函數調用被濫用得如此糟糕。 – 2011-05-22 04:16:32

+0

當我回復您的電子郵件時,Jonathan說,「路徑」在名爲../foldername/filename的可執行位置創建一個文件 – Paul 2011-05-23 06:08:58