Добавил:
Оставь надежду всяк сюда поступивший Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
22
Добавлен:
13.01.2019
Размер:
1.15 Кб
Скачать
/*9. Дан текстовый файл. Удалить из него все пустые строки.*/

#include <iostream>
#include <fstream>
#include <string>
#include <std>

bool empty_string(const std::string & s){
    return s.empty() || s.find_first_not_of(" \t\n") == std::string::npos;
}

int main(){
    const char * IN_NAME = "doc1.txt";
    const char * OUT_NAME = "doc2.txt";
    std::string buf;

    std::ifstream ifs(IN_NAME);
    if ( ! ifs.is_open() ){
        std::cerr << "Can't open input file!" << endl;
        return 1;
    }

    std::ofstream ofs(OUT_NAME);
    if ( ! ofs.is_open() ){
        std::cerr << "Can't open output file!" << endl;
        return 1;
    }

    while ( std::getline(ifs, buf) ){
        if ( ! empty_string(buf) ){
            ofs << buf << endl;
            if ( ofs.bad() ){
                std::cerr << "Can't write to output file!" << endl;
                return 1;
            }
        }
    }
    if ( ifs.bad() ){
        std::cerr << "Can't read from input file!" << endl;
        return 1;
    }

    ifs.close();
    ofs.close();
    std::cerr << "Done." <<endl;

    return 0;
}
Соседние файлы в папке 2,1г