1

.txt ファイルから情報を読み取る C++ プロジェクトがあります。Eclipse でデバッグするとすべてが正常に実行されますが、デバッグ .exe を使用して Eclipse の外部でアプリケーションを実行すると、テキスト ファイルが見つかりません。これは、Eclipse がデバッグ フォルダーにテキスト ファイルをビルドしていないためです (Eclipse 内でデバッグするときに実行される理由がわかりません)。

プロジェクト内にすべてのテキスト ファイルを含むフォルダーがあり、そのフォルダー全体が /Debug フォルダーにビルドされていません。「ビルドから除外」などのいくつかのファイル プロパティとオプションを確認しましたが、チェックされていません。他にどこを確認すればよいかわかりません。

何か案は?

4

1 に答える 1

4

C ++コンパイラはファイルと対話しません.txt。これらのファイルは、実行時に動的にロードされます。

あなたの問題は、プログラムが実行されている場所に関連する実行可能ファイルにファイル名を入れることだと思います。eclipseが起動すると、プログラムが別の場所で実行される可能性があるため、これは問題になる可能性があります。

例:

Project File
    Bin
          Executable.exe
    Program.cpp
    text.txt

このタイプの構造を使用していて、ツールを使用してプログラムを実行すると、作業ディレクトリがに設定される可能性があるためProject File、テキストファイルへの相対パスはになりますtext.txt。ただし、ファイル内からプログラムを起動するbinと、テキストファイルへの相対パスは次のようになります。..\text.txt

これに対する簡単な解決策は、ファイルをファイルと、または使用せずに使用するのtext.txt両方に配置することです。binproject filerelative pathabsoulte path

Absoulte pathそのようにルートから始まるパスを書き留めるときですC:\Project File\text.txt

于 2013-02-24T15:54:55.640 に答える