#include <iterator>
#include <sstream>
#include <string>
#include <conio.h>
#include <fstream>
int main()
{
std::string str;
std::ifstream in("D:\\laba13.txt");
std::ofstream f("D:\\laba130.txt");
std::getline(in, str);
std::istringstream ist(str);
std::string word;
while (ist >> word)
{
const char lastCh = word.back();
std::remove_copy(word.begin(), word.end(), std::ostream_iterator<char>(std::cout), lastCh);
std::cout << lastCh << " ";
}
_getch();
}
Программа удаляет предыдущие вхождения последней буквы в словах. Я считываю строку из файла, это мне сделать удалось, но записать результат в другой файл у меня не выходит. Нужно, чтобы результат шел в файл, а не на консоль. Нужно как-то заменить std::cout?? Заранее спасибо за любую помощь.
Так на g++ 7.1 все работает. Абсолютные пути к файлам намертво вклеивать в программу не очень хорошо, поэтому я их поменял на относительные. И просто добавил копию Вашего вывода на экран для файла.
#include <algorithm>
#include <iterator>
#include <sstream>
#include <string>
#include <conio.h>
#include <fstream>
#include <iostream>
int main()
{
std::string str;
std::ifstream in("laba13.txt");
std::ofstream f("laba130.txt");
std::getline(in, str);
std::istringstream ist(str);
std::string word;
while (ist >> word)
{
const char lastCh = word.back();
std::remove_copy(word.begin(), word.end(), std::ostream_iterator<char>(std::cout), lastCh);
std::remove_copy(word.begin(), word.end(), std::ostream_iterator<char>(f), lastCh);
std::cout << lastCh << " ";
f << lastCh << " ";
}
_getch();
}
Если закрыть файл, то работает(код проверил):
#include <algorithm>
#include <iterator>
#include <sstream>
#include <string>
#include <fstream>
#include <iostream>
int main()
{
std::string str;
std::ifstream in("laba13.txt");
std::ofstream f("laba130.txt");
std::getline(in, str);
std::istringstream ist(str);
std::string word;
while (ist >> word)
{
const char lastCh = word.back();
std::remove_copy(word.begin(), word.end(), std::ostream_iterator<char>(std::cout), lastCh);
std::remove_copy(word.begin(), word.end(), std::ostream_iterator<char>(f), lastCh);
std::cout << lastCh << " ";
f << lastCh << " ";
}
f.close(); // важно!
in.close();
std::cin.get();
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
И снова возможно глупые вопросыНужно посчитать определитель матрици через её триангуляцию(приведение к треугольному виду)
Есть такая строка кода: float (*func4(double)(void))[10];Не могу понять, что это такое
Начал делать масштабный проект через консольное приложение, с мыслью «вот сейчас наберусь опыта в кодописании, а потом просто подключу интерфейс,...