0

私に起こっていることは、Visual Studio からプログラムを実行すると、相対パスを使用して何かを見つけることができないということです。

これは明確に表現するのが難しいことがわかります...

たとえば、textfile.txt を開くプログラム X がありますね。そして、絶対パスで textfile.txt を指定しても問題ありません。また、相対パスを指定してプログラム X をコンパイルし、それを直接 (つまり、デバッグ フォルダー内の programX.exe をダブルクリックして) 実行しても問題ありません。しかし、相対パスを使用して Visual Studio からプログラムを実行すると (つまり、f5 キーを押して)、ファイルが見つかりません。

何が起こっているか知っている人はいますか?または、他の初心者の Visual Studio の問題と真っ向から衝突しない適切なキーワードを誰かが提案できますか?

ベン

4

2 に答える 2

3

VS 2008 では、exe プロジェクトのプロパティで、実行ディレクトリ (exe が実行されるディレクトリ) を指定できます。

于 2009-01-23T06:53:50.967 に答える
2

VS2008についてはわかりませんが、以前のバージョンでは、プロジェクトディレクトリの下にあるデバッグ(またはリリース、と思います)の現在のディレクトリでプログラムを実行しました。それをパスのルートとして使用することを確認する必要がある場合があります。

または、相対パスの先頭に「..\」を追加します。

system("cd");コード内に一時的に aを配置して、実際に実行されている場所を確認するかGetCurrentDirectory(...)、Nick の提案に従って使用します。

于 2009-01-23T06:54:48.110 に答える