2017-02-26 5 views
0

私はCプログラミングを学んでいるので、私は初心者です。Macでコード::ブロックのワーキングディレクトリを設定するにはどうすればよいですか?

私はMacでCode :: Blocks 12.11を使用していますが、Xcodeを入手してコマンドラインパッケージをダウンロードしていますので、すべてが欲しいと思っているようです。

私の問題は、.txtファイルを開いたときに、ソースコードやその他のファイルを含むディレクトリに表示されないということです。Finderの[すべてのマイファイル]フォルダに見つかりました。

次の手順を使用してプロジェクトを作成しています。>ファイル>新規>プロジェクト>コンソールアプリケーション>プロジェクトに名前を付けて、自分のすべてのプログラム用に作成したファイルに保存します。

私の以前のすべてのプロジェクトは、.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 pathを指定しない場合、fopen()は/現在のworking directoryに対する相対ファイルを作成し開きます。

Code :: Blocksのように見えますが、デフォルトの作業ディレクトリはプロジェクトディレクトリではありません。 Code :: Blocksフォーラムのクイック検索は、作業ディレクトリがデフォルトでmacOS上のユーザのホームディレクトリであることを示しているようです。

「プロジェクト」>「プロパティ」>「ビルドターゲット」>「実行作業ディレクトリ」でプログラムを実行するための作業ディレクトリを設定できるようです。ソースファイルが置かれているディレクトリにそれを設定すると、そのディレクトリにもファイルが作成されます。

+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

関連する問題