открытие файла для чтения на с++

Делал задание по с++, но почему-то программа не может открыть файл. Прошу помочь разобраться, код и задание прилагаю. [![task][1]][1]

#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <sstream>
using namespace std;
struct Record {
    int number;
    string text;
};

// Функция сравнения для сортировки записей
bool compareRecords(const Record& r1, const Record& r2) {
    return r1.number < r2.number;
}

int main() {
    string inputFileName, outputFileName;

// Запрос имен входного и выходного файлов с консоли
cout << "name in: ";
cin >> inputFileName;
cout << "name out: ";
cin >> outputFileName;

// Открытие входного файла
ifstream inputFile;
inputFile.open(inputFileName);
    if (not(inputFile)) {
cerr << "e op in: " << inputFileName << endl;
    return 1;
}

// Чтение записей из файла
vector<Record> records;
Record tempRecord;
string line;
while (getline(inputFile, line)) {
    
istringstream iss(line);
    if (!(iss >> tempRecord.number >> tempRecord.text)) {
        
    cerr << "e read" << endl;
        return 1;
    }
    records.push_back(tempRecord);
}

// Закрытие входного файла
inputFile.close(); 

// Сортировка записей
sort(records.begin(), records.end(), compareRecords);

// Открытие выходного файла
ofstream outputFile(outputFileName);
if (!outputFile) {
    
cerr << "e op: " << outputFileName << endl;
    return 1;
}

// Запись упорядоченного списка в новый файл
for (const auto& record : records) {
    outputFile << record.number << " " << record.text << endl;
}

// Закрытие выходного файла
outputFile.close();

cout << "succesful: " << outputFileName << endl;

return 0;

} [1]: https://i.stack.imgur.com/OSjka.jpg


Ответы (1 шт):

Автор решения: Абдурахман
// Чтение записей из файла
    vector<Record> records;
    Record tempRecord;
    string line;

    for(int i = 0; getline(inputFile, line); i++) {
        
        //istringstream iss(line);

        // if (!(iss >> tempRecord.number >> tempRecord.text)) {
                
        //     cerr << "end read" << endl;
        //     break;
            
        // }

        tempRecord.number = i;
        tempRecord.text = line;

        //iss >> tempRecord.number >> tempRecord.text;
        

        records.push_back(tempRecord);

    }

я отредактировал часть кода отвечающая за чтение файла и копирование его информации в массив путем изменения цикла с 'while' на 'for'

→ Ссылка