1
これは私のC++コードなぜ多くのファイルを開くと「ファイルを開くことができませんでしたか?
const int num_of_file = 1024;
std::ifstream data("data.txt");
std::vector<std::ofstream> files(num_of_file);
for (int i = 0; i < num_of_file; ++i)
{
files[i].open(std::to_string(i) + ".txt");
if (files[i].is_open() == false)
{
std::cerr << "open " << std::to_string(i) << ".txt fail" << std::endl;
exit(0);
}
}
ですが、私は、コードを毎回実行すると、「オープンが失敗509.txt」受け取りました。
あなたはどのプラットフォームを使用していますか?私は、多くのプラットフォームで同時にオープンしているファイル記述子の数が厳しく制限されていると考えています。 –
多くのファイルを一度に開く必要がある場合は、問題を解決する最善の方法はありますか? – crashmstr
詳細はこちらhttp://stackoverflow.com/questions/870173/is-there-a-limit-on-number-of-open-files-in-windows –