2017-02-26 325 views
0

我正在學習C編程,所以我是一個初學者。如何在Mac上的Code :: Blocks上設置工作目錄?

我在Mac上使用Code :: Blocks 12.11,我得到了Xcode並下載了命令行包,所以一切似乎都在做我想做的事情。

我的問題是當我打開一個.txt文件時,它沒有出現在帶有源代碼和其他文件的目錄中,我在Finder的All My File文件夾中找到它。

我使用以下步驟創建項目>文件>新建>項目>控制檯應用程序>然後命名該項目並將其保存到我爲我的所有程序創建的文件。

我以前的所有項目都保存在除.txt文件之外的整個文件夾中。

這是我的代碼。

/** 

Automatic Control and Systems Engineering126 - Problem Sheet 2.Q2 
Project: Opening a Text File for Writting 
Author: Craig McAllister 
Date: 23.02.17 

**/ 

#include <stdio.h> 

main() 
{ 
     FILE *myFile; 
     myFile=fopen("first.txt","w"); // open first.txt for writing (or create it if it doesn't exist) - this will be in the same folder as the c program 
     fprintf(myFile,"Hello World!!!\n"); 
     fclose(myFile); 
} 

我在另一個類似的問題看,如果我給它的直接路徑,將工作,它有,在一定程度上;

myFile=fopen("/Users/craigmcallister/Documents/CodeBlocks/First_Text/first.txt","w");

這行代碼保存在一個包含我的源代碼,這是一個更近了一步我想要的解決方案相同的項目文件中的.txt文件。

我想.txt文件自動保存在工作目錄中,項目的其餘部分保存在這種情況下爲.txt文件自動打開(如果可能的話)?

我懷疑我的工作目錄沒有正確設置,但由於我對此很陌生,我不知道這會是什麼樣子,或者我會如何改變設置。

如果任何魔法師/巫師可以幫助杜絕這種痛苦我會永遠感激:)

回答

1

如果不指定absolute pathfopen()將打開/創建文件相對於當前working directory

它看起來像在Code :: Blocks中,默認的工作目錄不是項目目錄。快速搜索Code :: Blocks論壇似乎表明工作目錄默認爲macOS上用戶的主目錄。

看起來您可以在Project> Properties> Build Target> Execution Working Directory中設置用於運行程序的工作目錄。如果將其設置爲源文件所在的目錄,則應該在該目錄中創建文件。

+0

謝謝您的回答:) 是的,指定絕對路徑是我現在已經解決了這個問題的方法。 昨天我嘗試了這些步驟很多次,沒有成功,這是我遵循的步驟; 項目>屬性>構建目標>(我在其中找到執行工作目錄) 執行工作目錄框中填充了一個點「。」。 我點擊執行工作目錄的選項框,我可以導航到我的項目目錄,但似乎無法在這裏保存任何東西,我懷疑我做錯了什麼,我是否需要創建一個新的文件夾來保存? – 8TrackRobot

+0

你可以編輯盒子內容嗎?如果是這樣,請嘗試在那裏輸入項目目錄的絕對路徑。如果它不可編輯,請嘗試直接編輯[項目文件](http://wiki.codeblocks.org/index.php?title=Project_file#Working_directory)。如果所有這些都無濟於事,請從論壇嘗試[此解決方法](http://forums.codeblocks.org/index.php?topic=10328.0)。如果一切都失敗了,你可以使用'chdir()'(需要'#include ')來改變工作目錄,然後在你的程序中做任何其他的事情,但這實際上只是一個破解你的程序中的代碼::塊IDE。 – puzzle