Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2012, 20:17   #1
corner
Пользователь
 
Регистрация: 20.11.2011
Сообщений: 11
По умолчанию Файлы. C++

В текстовом файле заменить все последовательности идущих подряд пробелов одним пробелом, т.е. “ сжать “ файл. Новый файл не создавать.

Ребят, помогите, пожалуйста. По срокам не успеваю(
corner вне форума Ответить с цитированием
Старый 16.05.2012, 21:18   #2
Петррр
Форумчанин
 
Аватар для Петррр
 
Регистрация: 02.09.2011
Сообщений: 336
По умолчанию

Код:
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <fstream>
#include <iterator>

bool doubleSpace(char ch1, char ch2) {
    return ch1 == ' ' && ch2 == ' ';
}

int main() {
    std::ifstream input("/home/denis/1.txt");
    if (input.is_open()) {
        std::string buf;
        std::vector<std::string> vec;
        while (std::getline(input, buf, '\n'))
            vec.push_back(buf);
        input.close();
        std::ofstream output("/home/denis/1.txt");
        size_t len = vec.size();
        for(int i = 0; i < len; i++) {
            std::string::iterator it = std::unique(vec[i].begin(), vec[i].end(), doubleSpace);
            vec[i].erase(it, vec[i].end());
        }
        if (output.is_open()) {
            std::copy(vec.begin(), vec.end(), std::ostream_iterator<std::string>(output, "\n"));
            output.close();
        }
        else
            return EXIT_FAILURE;
    }
    else
        return EXIT_FAILURE;
    return EXIT_SUCCESS;
}
Если ты не можешь найти то, ради чего стоит жить, лучше найти то, за что стоит умереть
Петррр вне форума Ответить с цитированием
Старый 16.05.2012, 21:22   #3
corner
Пользователь
 
Регистрация: 20.11.2011
Сообщений: 11
По умолчанию

ааа, жесть какая. что за вектор, что за итератор?( не учили этому
corner вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очень нужно сделать задачу в Delphi(Типизированные файлы. файлы записи) Vitalik1 Помощь студентам 1 16.12.2011 10:38
Файлы (текстовые файлы) Finn4ik Помощь студентам 0 25.04.2011 21:42
Не сохраняет файлы (Создает файлы пустышки) Rock231 Помощь студентам 2 25.12.2010 12:31
Файлы данных.Типизированные файлы. вылка Помощь студентам 6 17.05.2010 15:42
два вредных вопроса:про асю и прикриплёные файлы файлы steck Свободное общение 3 17.06.2007 14:53