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

запись string и функция replace - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В массиве целых чисел необходимо найти минимальное число, строго большее числа A http://www.cyberforum.ru/cpp-beginners/thread954417.html
Задача уже есть на форуме Free Pascal, необходимо написать её только на с++ Условие:http://www.cyberforum.ru/free-pascal/thread652461.html "В массиве целых чисел необходимо найти минимальное число,...
C++ Есть файл со звуком как его прослушать? #include<stdio.h> int main(){ return 0; } ВСе что я знаю о програмировании! есть файл со звуком как его прослушать? надо написать playSound и путь к файлу http://www.cyberforum.ru/cpp-beginners/thread954414.html
как поставить защиту от дураков? C++
#include "stdafx.h" #include <math.h> #include <clocale> #include <iostream> using namespace std; int main () { setlocale(LC_ALL, "Russian");
C++ Чтение Unicode
Есть файл в кодировке Unicode. Надо вывести его содержимое в другой файл и в консоль. Использую двухбайтовый тип wchar, но вместо текста выводятся закорючки, причём в выходном файле и консоли они...
C++ «Вывод динамического изображения» http://www.cyberforum.ru/cpp-beginners/thread954406.html
«Вывод динамического изображения» Задание заключается в разработке программы создания динамического изображения. Изображение включает в себя простейшую фигуру, определяемую в соответствии с...
C++ ДОС утилита ТЕМА: Написание пакетной утилиты ДОС средствами языка высокого уровня (ЯВУ). ЦЕЛЬ: Освоить средства модуля ДОС системы TURBO PASCAL (или средства модуля SysUtils системы DELPHI и т.д.) для работы... подробнее

Показать сообщение отдельно
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
14.09.2013, 23:52
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
#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
#include <iterator>
 
int main(int argc, char** argv)
{
    if (argc < 5) {
        std::cerr << "Not enough parameters" << std::endl;
        return 1;
    }
    std::fstream file(argv[1], std::fstream::in);
    if (!file.good()) {
        std::cerr << "Cannot open input file: " << argv[1] << std::endl;
        return 2;
    }
    using inb_it_char = std::istreambuf_iterator<char>;
    std::string file_content(inb_it_char(file), (inb_it_char()));
    file.close();
    const std::string old_phrase = argv[3];
    const std::string new_phrase = argv[4];
    size_t pos = std::string::npos;
    while ( (pos = file_content.rfind(old_phrase, pos ? --pos : 0)) != std::string::npos )
        file_content.replace(pos, old_phrase.size(), new_phrase);
    file.open(argv[2], std::fstream::out);
    if (!file.good()) {
        std::cerr << "Cannot open output file: " << argv[2] << std::endl;
        return 3;
    }
    using outb_it_char = std::ostreambuf_iterator<char>;
    std::copy(std::begin(file_content), std::end(file_content), outb_it_char(file));
    file.close();
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru