вряд ли в кют можно что-то подобное сделать.
UP.
о какой технологичный говнокод получился
-
C++ (Qt)
int main(int argv, const char** argc) {
bool run_ = true;
std::string from = "infile.iso";
std::string to = "outfile.iso";
{
std::shared_ptr<std::thread> thp(
new std::thread(std::bind(
[&run_](std::string from, std::string to) {
std::ifstream in(from, std::ios::in|std::ios::binary);
std::ofstream out(to, std::ios::out|std::ios::trunc|std::ios::binary);
std::array<char, 1024*32> buf;
while ( run_ ) {
std::size_t rd = in.read(buf.data(), buf.size()).gcount();
out.write(buf.data(), rd);
}
},from,to
)
),
[](std::thread* th) {
th->join();
delete th;
}
);
std::cout << "thread started\npress enter for terminate" << std::endl;
std::cin.get();
std::cin.clear();
run_ = false;
}
std::cout << "thread terminated\npress enter for exit" << std::endl;
std::cin.get();
return 0;
}