нужно что бы функция работала со всем файлом C++

написал функцию для шифровки текста банальным сдвигом. то есть берется текст из файла шифруется и записывается обратно в файл, с чем она и справляется, но вот она умеет работать только с первой строкой. Что добавить или изменить что бы работала и с остальными строками? сама функция:

ifstream file;
    file.open(name_file);

    char str1[255];
    string str;
    
    while (getline(file, str)) {
        strcpy_s(str1, str.c_str());

        for (int i = 0; i < strlen(str1); i++)
        {
           str1[i] += 5;
        }
        cout << str1 << endl;
    }
    file.close();

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

Автор решения: Dafter

ifstream служит для чтения файла, чтоб записать данные в файл необходимо использовать ofstream. Примерно так выглядит считывание значений из файла и запись в другой файл:

ifstream input(inputName);
ofstream output(outputName);
if (!input.is_open()) return -1; // Проверка открытия
string str;
while (true) { // Цикл для перебора всех строк
    // Code
    input >> str; // Считали строку из файла
    if(str.size()==0 && input.eof()) break; // Проверка, что файл кончился
    output << str; // Записали строку в файл
}
input.close();
output.close();

Рекомендую почитать информацию с этого сайта думаю вы найдете все, что вас интересует

→ Ссылка