Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
белая муха
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 13
#1

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

17.02.2012, 00:44. Просмотров 955. Ответов 3
Метки нет (Все метки)

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
#include <iostream>
#include <math.h> 
 
using std::cin;
using std::cout;
using std::endl;
 
 int main (int argc, char** argv){
    std::cout << "my_cat: Usage : ./my_cat input_file output_file [...]" << std::endl;
    return (EXIT_SUCCESS);
  }
  std::string my_string;
  std::ifstream ifs(argv[1], std::ifstream::in);
  std::ofstream ofs(argv[2], std::ofstream::out);
  if (ifs.is_open()) {
    while (getline(ifs, my_string))
      if (strcspn(my_string.c_str(), "0123456789") != my_string.size()) {
          if (!ifs.eof())
            ofs << my_string << std::endl;
          else
            ofs << my_string;
        }
  }
  else
    std::cout << "my_cat: " << argv[1] << ": No such file or directory" << std::endl;
  return (EXIT_SUCCESS);
}
 Комментарий модератора 
Код выделяем тегами!


Добавлено через 1 час 9 минут
Цитата Сообщение от белая муха Посмотреть сообщение
Код выделяем тегами!
разжуй будь добр, я не понимаю!
std::ifstream ifs(argv[1], std::ifstream::in);-на эту строку выдает ошибку!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2012, 00:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что не так? Дан текстовый файл F. Переписать в другой файл G все строки, содержащие цифры. (C++):

Дан текстовый файл F. Переписать в другой файл G все символы, отличные от букв и пробела - C++
Дан текстовый файл F. Переписать в другой файл G все символы, отличные от букв и пробела.

Дан входной текстовый файл, строка S (вводится с клавиатуры). Записать в выходной файл все строки входного файла, содержащие в качестве фрагмента стро - C++
Дан входной текстовый файл, строка S (вводится с клавиатуры). Записать в выходной файл все строки входного файла, содержащие в качестве...

Файл: Переписать один текстовый файл в другой при условии, что все двойные пробелы буду заменены одинарными - C++
Здравствуйте, помогите, пожалуйста, с заданием, а то все мои идеи нерабочие совсем. Задание: Переписать один текстовій файл в другой при...

Дан текстовый файл F. Получить все его строки, содержащие более 60 символов. На С++ - C++
написал такой код, но он с ограничениями длина строки не больше 256, как сделать его универсальным? для строк любого размера #include...

дан текстовый файл. получить все его строки, содержащие более 20 символов, отличных от пробелов. - C++
Здравствуйте, помогите написать программу. дан текстовый файл. получить все его строки, содержащие более 20 символов, отличных от пробелов....

Дан текстовый файл. Переписать компоненты файла в другой файл, заменив при этом каждое сочетание букв “no” на “on” - C++
Дан текстовый файл. Переписать компоненты файла в другой файл, заменив при этом каждое сочетание букв “no” на “on”. :( Помогите,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
easybudda
Модератор
Эксперт CЭксперт С++
9625 / 5573 / 947
Регистрация: 25.07.2009
Сообщений: 10,709
17.02.2012, 02:20 #2
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
39
40
41
42
43
44
45
46
#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::ofstream 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;
}
1
белая муха
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 13
17.02.2012, 02:37  [ТС] #3
он проверил написал что сделано, а вот как с ним работать? при запуске он открывает и тут же сворачивает)))))
огромная благодарность за помощь!!!
0
easybudda
Модератор
Эксперт CЭксперт С++
9625 / 5573 / 947
Регистрация: 25.07.2009
Сообщений: 10,709
17.02.2012, 02:49 #4
Цитата Сообщение от белая муха Посмотреть сообщение
он проверил написал что сделано, а вот как с ним работать? при запуске он открывает и тут же сворачивает)
Программа должна запускаться из консоли с двумя параметрами: первый - имя файла ввода (должен быть создан заранее и по возможности содержать строки с числами), второй - имя файла вывода (это в который будут строки с числами сохраняться).
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2012, 02:49
Привет! Вот еще темы с ответами:

Дан текстовый файл f. Переписать текст в файл g, удалив все группы букв s (s передается параметром) - C++
В общем нужно из строки удалить подстроку, которая задается с клавиатуры

Файл: Скопировать текст в другой текстовый файл файл, но чётные строки должны быть с большой буквы... - C++
Создать текстовый файл. Скопировать текст в другой текстовый файл файл, но чётные строки должны быть с большой буквы, а нечетные с...

переписать содержимое текстового файла в другой текстовый файл,добавляя в начало каждой строки её порядковый номер(с++) - C++
переписать содержимое текстового файла в другой текстовый файл,добавляя в начало каждой строки её порядковый номер

Даны текстовый файл и строка s. Получите все строки файла f, содержащие в качестве фрагмента заданную строку s - C++
Даны текстовый файл и строка s. Получите все строки файла f, содержащие в качестве фрагмента заданную строку s Помогите плиз Нашел...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.02.2012, 02:49
Ответ Создать тему
Опции темы

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