Добавил:
13246980
Оставь надежду всяк сюда поступивший
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Синников С++ / 2 курс / С++ / 2,1г / main
.cpp/*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;
}