перехода на новую строку и затирания экрана? 
                  
                  
                  Мол есть некая строка в одном потоке
                  
                  
                  data = 1 
                  
                  
                  В другом потоке
                  
                  
                  data1 = 1 
                  
                  
                  И данные 2 переменные паралелльно должны обновлятся.  Паралельность реализовал через thread, а вот как обновлять только значения - не понимаю.
                  
                  
                  Данную программу реализовываю под linux.
                  
                  
                  Спасибо)
                  
                  
                  Сейчас это выглядит вот так:
                  
                  
                  Thread ID: 139784412276480 data0 3
                  
                  
                  Thread ID: 139784412280640 data1 6
                  
                  
                  Thread ID: 139784412280640 data1 7
                  
                  
                  Thread ID: 139784412276480 data0 4
                  
                  
                  Thread ID: 139784412280640 data1 8
                  
                  
                
Из того что я понял, вы хотите выводить в консоли на одной и той же строке обновлённое значение каждой из переменных?
Строки в колонки выводить? Можно использовать терминальные контрольные последовательности.
Если это то, что ты хотел, то system("cls")
Тут будет очистка всего терминала. А хотелось бы, чтоб все данные оставались в нём
Дак у тебя частота обновления консоли тебе будет выводить, будто все на том же самом месте
Это очень плохой совет. Поднимать лишний процесс, чтобы очистить экран? 🤦♂️
Сейчас погуглю, что это. Попробую по-другому объяснить, что хочу: Мол есть 2 строчки - data0 = x - data1 = y И я хочу, чтоб на экране обновлялись только x и y. Без затираний всего остального)
Дак где предложения, кроме осуждения предложения
Предложения были уже, взять библиотеку готовую :) Можно конечно ручками гонять Esc последовательности, но терминалы бывают разные ...
Оператор присваивания
Немного не понял?
Хорошо что ещё не было Thread ID: 139784412276480 data0 Thread ID: 3 139784412280640 data1 data 7 Thread ID: 4 ... На Винде обращение к консоли из разных потоков даёт прикольную мешанину текста. У Вас как потоки синхронизируются кому как и когда к общему ресурсу консоль обращаться?
Как я понимаю, за это отвечает th.join(); и мешанины никакой нет. upd: Мешанина все же есть, не замечал ее. Извеняюсь =) Thread ID: 140500912256832 data1 0Thread ID: 140500912252672 data0 0
std::osyncstream в помощь
Обновлять переменную - оператор присваивания
Чтобы напечатать значение в том же месте где она была напечатана ранее на экране консоли, стандартных средств языка мало, надо использовать библиотеки с поддержкой конкретной OS, на Linux это библиотека ncurses. Но я не думаю что тебе надо этим заниматся для учебной программы, потому что тебе придётся переделывать весь ввод и вывод через ncurses
Обсуждают сегодня