-2
特定のフォルダに移動する必要のあるテキストを含むファイルを作成しようとしています。しかし、それは作成されますが、exeと同じフォルダにあります。コードは次のとおりです。C++ Ofstreamは特定の場所にファイルを作成しません
const char* name;
char path[200];
int main()
{
cin.getline(path, 230,'\n');
DIR *dir;
name = path;
struct dirent *ent;
if ((dir = opendir(name)) != NULL)
{
while ((ent = readdir(dir)) != NULL)
{
ofstream file(path, ios::out | ios::trunc);
file.open("somename");
file << ent->d_name + " something";
file.close();
}
closedir(dir);
}
else
{
perror("");
}
}
何が間違っていますか?
'file.open( "いくつかの名前");'指定した任意の特定のFIEパスなしで、現在の作業ディレクトリにファイルを作成します。 – user0042
respを追加することを検討してください。あなたのソースの冒頭に含まれています。ライブラリ関数に必要なインジケータは、通常、関数自体のマニュアルページに記載されています。 (あなたの[MCVE](http://stackoverflow.com/help/mcve)には見つからないでしょう)、 – Scheff
ファイルを特定のディレクトリに保存する場合は、resp 。相対ファイルパスまたは絶対パス(ディレクトリを含む)を変更するか、またはカレントディレクトリを変更してください。あなたは['chdir()'](http://man7.org/linux/man-pages/man2/chdir.2.html)を使ってあなたのプログラムでそれを行うことができます。 – Scheff