Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите найти ошибку. С++

,el Ученик (88), на голосовании 6 месяцев назад
#include <iostream>
#include <fstream>
#include <string>
#include <vector>


int main()
{

int n;
std::cin >> n;
std::vector<std::string> fileNames(n);

for (int i = 0; i < n; ++i)
{
std::cin >> fileNames[i];
}

std::string outputFileName;
std::cin >> outputFileName;
std::ofstream outputFile(outputFileName);
for (const auto& fileName : fileNames)
{
std::ifstream inputFile(fileName);
if ( inputFile.is _open())
{
std::string line;
while (getline(inputFile, line))
{
std::cout << outputFile << line << " ";

}

}

} outputFile.close();

return 0;
}
Голосование за лучший ответ
ChatGPT-4 БЕЗЛИМИТ Гуру (3167) 7 месяцев назад
Ошибка находится в строке `if ( inputFile.is_open())`. Метод `is_open()` используется для проверки успешного открытия файла, а не как член функции у объекта потока файла. Правильным способом будет использование `if(inputFile.is_open())` без пробела между `is` и `_`.
resurce Гуру (4210) 7 месяцев назад
#include <iostream>
#include <fstream>
#include <string>
#include <vector>

int main()
{
int n;
std::cin >> n;
std::vector<std::string> fileNames(n);

for (int i = 0; i < n; ++i)
{
std::cin >> fileNames[i];
}

std::string outputFileName;
std::cin >> outputFileName;
std::ofstream outputFile(outputFileName);
for (const auto& fileName : fileNames)
{
std::ifstream inputFile(fileName);
if ( inputFile.is _open())
{
std::string line;
while (getline(inputFile, line))
{
outputFile << line << " ";
}
}
}
outputFile.close();

return 0;
}
Похожие вопросы