2016-12-05 18 views
0

自分のコンピュータ上の特定の場所にあるファイルを作成して書きたいと思っています。私はかなり大きなプロジェクトがあるので、私はちょうど私が立ち往生している部分を投稿します。デフォルトのファイルI/Oの場所を設定するには

f = fopen(FileName, "w"); 

FileName =書き込み先のファイル名を含む変数。

ここでの問題は、このファイルを作成してプロジェクトと同じディレクトリに保存していることです。私は、同じディレクトリにある "Individual"というディレクトリにそれを保存したいと思います。何か案は?

答えて

1

ディレクトリ変更、例えば、ファイル名の先頭にパスを追加chdir()

他に使用します。

+0

私はこれをFileName変数の先頭に追加することにしました。助けてくれてありがとう、私は尋ねる前にこれを試しておくべきだった。 – bodotheguy

0

コード内の複数の場所で同じロジックを使用する必要がある場合は、getFileNameInDirectoryToSaveという名前の関数を記述します。

fopenの前に関数を呼び出します。あなたは一度だけその機能が必要な場合は、同じロジックを使用することができます

void getFileNameInDirectoryToSave(char const* in, char* out) 
{ 
    sprintf(out, "Individual/%s", in); 
} 

char fileNameToSave[FILESIZE]; // Make FILESIZE large enough. 
getFileNameInDirectoryToSave(FileName, fileNameToSave); 
fopen(fileNameToSave, "w"); 

char fileNameToSave[FILESIZE]; // Make FILESIZE large enough. 
sprintf(fileNameToSave, "Individual/%s", FileName); 
fopen(fileNameToSave, "w"); 
+0

私は 'FILESIZE'のために' PATH_MAX'を提案しようとしていましたが、それはフットガンのちょうど異なるブランドです。 – Jasen

関連する問題