1

私は Pelles C で C プロジェクトに取り組んでおり、プロジェクト フォルダーのサブディレクトリ内の csv ファイルを fopen しようとしています。現在、次のようなファイルへの絶対パスがあります。

fopen("F:my/path/projectfolder/datafolder/data.csv", "r");

これは問題なく動作します。しかし、プロジェクト フォルダーを移動するとき (たとえば、F:/ USB ドライブから C:/ ハードドライブ) にコードを適応させたいと考えています。プロジェクト フォルダを移動するたびに絶対ファイル パスを変更せずにこれを行う方法があるかどうかを知りたいです。

基本的に、Linuxのように「現在のディレクトリ/データフォルダー」(「./データフォルダー」)をどのように言うか疑問に思っています。私がテストしたが機能しない次の行のようなもの:

fopen("./datafolder/data.csv","r");

また

fopen("../datafolder/data.csv","r");

考え?

4

1 に答える 1

3

現在の作業ディレクトリに基づいていることを除いて、これは正しい構文です。

  • 現在の作業ディレクトリを読み取るには、次を使用できます。getcwd()
  • 現在の作業ディレクトリを変更するには、次を使用できます。chdir()
于 2014-06-05T17:55:00.057 に答える