Здравствуйте, я пытаюсь произвести запись информации в текстовый файл
и в вектор
, далее отсортировать вектор , и попросить вводить информацию снова и так далее до того момента,когда мне нужно остановиться.
Подскажите , пожалуйста, как сделать так,чтобы попросить ввести информацию снова, так как первый раз: ввод и сортировка происходит, как нужно и программа завершается.
Думаю , что нужен какой-то цикл, но не знаю, как правильно сделать это...
STring.h:
#pragma once
#include <iostream>
#include <fstream>
#include <vector>
#include <iterator>
#include <string>
#include <algorithm>
#include <mutex>
#include <chrono>
#include <atomic>
class STring
{
std::vector<std::string> vec;
std::mutex mtx;
public:
STring(){}
void Recording();
void SortVec();
};
STring.cpp:
#include "STring.h"
std::atomic<bool> data_ready(false);
void STring::Recording()
{
//while (1)
//{
std::lock_guard<std::mutex> lock(mtx);
std::string fileName;
std::string str;
//std::vector<std::string> vec;
//std::cout << "Input file name: ";
//std::cin >> fileName;
std::ofstream out("1.txt", std::ios_base::app);
std::cout << "Input smth: ";
while (std::cin >> str)
{
out << str;
vec.push_back(str);
}
data_ready = true;
std::this_thread::sleep_for(std::chrono::seconds(10));
//}
}
void STring::SortVec()
{
//while (1)
//{
//std::lock_guard<std::mutex> lock(mtx);
while (!data_ready.load())
{
std::this_thread::sleep_for(std::chrono::seconds(5));
}
std::sort(vec.begin(), vec.end());
for (auto i : vec)
{
std::cout << i << std::endl;
}
//}
}
**Source.cpp:
#include <iostream>
#include "STring.h"
#include <vector>
#include <thread>
int main()
{
STring w;
std::thread Write(&STring::Recording,&w);
std::thread Sort(&STring::SortVec, &w);
Sort.join();
Write.join();
system("pause");
return 0;
}
Результат:
Так?:
int main()
{
while (true) {
STring w;
std::thread Write(&STring::Recording,&w);
std::thread Sort(&STring::SortVec, &w);
Sort.join();
Write.join();
}
system("pause");
return 0;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Доброго времени суток гуру С++ и не толькоНачал изучать этот замечательный язык по книге 2016 , но, как оказывается, некоторые примеры не совсем...
Когда один из клиентов чата закрывает чат(закрывает приложение) на сервере начинает лагать его последнее сообщение(отправляться много раз)...
Делаю небольшой мессенджер (протокол TCP)Есть сервер и клиент
Как можно русифицировать инструменты разработчика (Dev Tools) в браузере Chrome?