アップデート
アプリケーションの実行時にファイルが確実addrr.txt
に見つかるようにするには、次のことを行う必要があります。
- ファイルへの絶対パスを指定します。つまり
D:\addrr.txt
、または
- 現在の作業ディレクトリ (CWD) からの相対パスを指定します
C:\Program Files\Mozilla FireFox
。(ファイルが別のパーティションにある場合、これは実用的ではありません。)
CWD は通常、アプリケーションが実行されるディレクトリです。アプリケーションを実行する場合は、動作するD:
はずです。(アプリケーションは、実行時に CWD を変更する場合があります (たとえば、chdir()
、 またはを使用SetCurrentDirectory()
)。ただし、通常は、ファイルへの絶対パスを指定するか、CWD に対する正しい相対位置にファイルを配置する方が適切です。)
これは私にとっては問題なくコンパイルおよび実行されます。
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
int main() {
ifstream file;
file.open("addrr.txt", fstream::in | fstream::out);
if (file.is_open())
{
while (file.good())
{
string Path;
cout << "Addrr.txt IsGood" <<endl;
getline(file, Path);
cout << Path << endl;
}
file.close();
}
}
// output similar to:
/*
Addrr.txt IsGood
addrr.txt
Addrr.txt IsGood
addrr.txt
Addrr.txt IsGood
addrr.txt
Addrr.txt IsGood
Addrr.txt IsGood
*/
// file: addrr.txt
/*
addrr.txt
addrr.txt
addrr.txt
*/
ファイル名は正しいですか (つまり、大文字と小文字を区別しますか)。実行可能ファイルが配置されているパスからアプリケーションを実行しますか (ファイルは現在の作業ディレクトリにあります)?