Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


одна есть, выложу может тоже кому понадобится

5) Дан текстовый файл F. Переписать в другой файл G все строки, содержащие цифры.


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

#define PROGRAM_NAME argv[0]
#define INPUT_NAME argv[1]
#define OUTPUT_NAME argv[2]

int main(int argc, char ** argv){
if ( argc < 3 ){
std::cerr << "Usage: " << PROGRAM_NAME << " input_file_name output_file_name" << std::endl;
return 1;
}

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

std:fstream ofs(OUTPUT_NAME);
if ( ! ofs.is_open() ){
std::cerr << PROGRAM_NAME << ": can't open file " << OUTPUT_NAME << " for output!" << std::endl;
return 1;
}

std::string buf;
while ( std::getline(ifs, buf) ){
if ( buf.find_first_of("0123456789") != std::string::npos ){
if ( ! (ofs << buf << std::endl) ){
std::cerr << PROGRAM_NAME << ": can't write to " << OUTPUT_NAME << std::endl;
return 1;
}
}
}
if ( ifs.bad() ){
std::cerr << PROGRAM_NAME << ": can't read from " << INPUT_NAME << std::endl;
return 1;
}

ifs.close();
ofs.close();
std::cerr << PROGRAM_NAME << ": just finished." << std::endl;

return 0;
}

Отправлено: 06:33, 04-02-2016 | #116