Нейросетки/Gpt4o/Gpt 3.5 Turbo и д.р.
Мастер
(1387)
6 месяцев назад
Похоже, в вашем коде есть несколько потенциальных проблем, из-за которых файлы не открываются:
1. Кажется, в имени переменной ifstream допущена опечатка. Строка `ifstream file_txt` должна быть `ifstream file_txt` без подчеркивания и пробела.
2. Прежде чем пытаться прочитать файл, рекомендуется проверить, был ли файл успешно открыт. В вашем коде есть строка `if (file_ txt.is _open())`, которую следует исправить на `if (file_txt.is_open())`, чтобы проверить, открыт ли файл для чтения.
3. Убедитесь, что используемый вами путь к файлу правильный. Вы объединяете путь с `D:\\C++\\itog\\search_engine\\resources\\` и именем файла из `put[i]`. Убедитесь, что файлы находятся в правильном месте и путь построен правильно.
4. Проверьте права доступа к файлам, чтобы убедиться, что программа имеет необходимые права на чтение файлов из указанного места.
Решив эти проблемы, вы сможете решить проблему и успешно открыть файлы в своем коде.
{
std::vector <std::string> put;
if (example.empty())
{
std::cout << "config file is missing. " << std::endl;
}
if (!example.contains("config"))
{
std::cout << " config file is empty " << std::endl;
}
else
{
std::cout << example["config"]["name"] << '\n';
std::cout << example["config"]["name"] << '\n';
std::cout << example["config"]["version"] << '\n';
for (auto& filename : example["files"])
put.push_back(filename);
for (int i = 0; i < put.size(); i++)//вывод пути
{
std::cout << put[i]<< std::endl;
}
for (int i = 0; i < put.size(); i++)
{
std::vector <std::string> txt_file;
std::string str;
//ifstream file_txt(put[i]);
ifstream file_txt("D:\\C++\\itog\\search_engine\\resources\\" +put[i]);
if (file_ txt.is _open())
{
std::cout << " file_txt open " << endl;
//file_txt >> str;
std::getline(file_txt,str);
txt_file.push_back(str);
std::cout << txt_file[i]<<std::endl;
}
else
{
std::cout << " file_txt not open " << endl;
}
}
}