Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Фатал еррор в коде http://www.cyberforum.ru/cpp-beginners/thread133657.html
мне нада исправить данный код для корректной работы в визуал си++ "ошибка заключается в том что тут нада отсчет начать с 0, а не с 1", эти слова препода мне ни о чем не говорят. help задача...
ЗАПРЕТ на ввод Б У К В Ы ... ... ... C++
Господа Уважаемые Программисты, если я объявляю переменную х как символьную,........... то каким образом мне надо поставить условие, .............................. чтобы при вводе в качестве этой...
C++ Разработать функцию определения среднего арифметического коэффициентов многочлена
Помогите пожалуйста по учебе. Задание: Разработать и реализовать функцию определения среднего арифметического коэффициентов многочлена на языке Си для работы с многочленом (на фото)...
C++ Копирование строк Всем доброго времени суток. У меня такой вопрос как можно копировать строка в строку не с заменой, а с добавлением в строку. например есть что-то вроде : char A = "DFGH"; char B = "FFFF"; ... http://www.cyberforum.ru/cpp-beginners/thread133644.html
C++ Сортировка вектора http://www.cyberforum.ru/cpp-beginners/thread133640.html
Нужно отсорировать вектор в порядке убывания при помощи поинтеров. Тоесть доступ к элементам вектора осушествляется через поинтеры.
сортировка стека или очереди!!! C++
вот код программы: пишет постоянно ошибка сегментации. или просто не работает. n=kol_vo; w=sposob; last=n;
Упорядочить строки матрицы, содержащие нули, в порядке возрастания их количества C++
Дана матрица. Упорядочить ее строки, содержащие нули, в порядке возрастания их количества. помогите плизз)
C++ Подсчитать наибольшее количество идущих подряд пробелов дана строка. подсчитать наибольшее количество идущих подряд пробелов http://www.cyberforum.ru/cpp-beginners/thread133616.html
C++ Структуры и файлы http://www.cyberforum.ru/cpp-beginners/thread133612.html
Помогите, пожалуйста, написать следующую программу: Структура записей файла: шифр темы; шифр книги; фамилия, имя, отчество автора; название книги; издательство; год издания. Ввести с экрана фамилию,...
C++ Вычесление интегралов методом правых прямоугольников Помагите пожалуйста решить задачку в С++(или хотябы помочь как делать), а звучит она так: Нужно вычислить приближённое значение интеграла x^2*cos(x/4), пределы интегрирования этого интеграла a=2(под... http://www.cyberforum.ru/cpp-beginners/thread133609.html
valen10
Параллельный Кот
1260 / 530 / 209
Регистрация: 25.03.2016
Сообщений: 1,186
Завершенные тесты: 1
23.10.2018, 14:17 0

Чтение из файла с конца

23.10.2018, 14:17. Просмотров 9047. Ответов 14
Метки (Все метки)

Ответ

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Вариант для мазохистов
Они оба для мазохистов, ибо стандартные потоки в C++ неплохо справляются с задачей.

Однако, никто не обратил внимания на то, что обрабатывать требуется текстовые файлы под Windows. Просто прочитать блок, перевернуть и записать обратно не получится, т.к.:

1. Конец строки в Windows состоит из двух байт CR+LF, если их поменять местами, получится чушь.
2. Если файл содержит многобайтовую кодировку, проблем еще больше.

В общем случае, придется преобразовать содержимое файла в кодировку, где все символы кодируются одинаковым количеством байт (например UTF-32), затем переставить их в обратном порядке и выполнить обратное преобразование и запись в файл.

Если же файл в кодировке Windows-1251 (допустима и UTF-8, но при условии, что файл содержит только символы из младшей половины таблицы, т.е. английские буквы, цифры, знаки препинания и еще некоторые символы), то можно обойтись и простым get().

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
int main() {
    string f_name = "input.txt";
 
    // Открыть на чтение/запись.
    fstream file(f_name, ios_base::in | ios_base::out);
 
    if (file.is_open()) {
 
        string s;
        char c;
 
        // Посимвольно прочитать весь файл.
        while (file.get(c)) {
            s += c;
        }
 
        // Выполнить перестановку символов в обратном порядке.
        for (size_t i = 0; i < s.size() / 2; i++) {
            swap(s[i], s[s.size() - i - 1]);
        }
 
        // Сбросить флаги состояния и вернуть указатель в начало файла.
        file.clear();
        file.seekg(0, ios_base::beg);
 
        // Записасть строку обратно в файл и закрыть его.
        file << s;
        file.close();
    }
 
    return 0;
}
Добавлено через 15 минут
Не посмотрел на дату. Некропостингом попахивает, брр...

Вернуться к обсуждению:
Чтение из файла с конца
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2018, 14:17

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

Чтение динамического массива с конца
Можно ли каким-то образом считывать динамический массив не с начала,а с конца?

Cin, чтение с конца полученного потока
Происходит ввод с клавиатуры последовательности чисел разделенных пробелами, нужно извлечь из этого...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru