crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> Очистка консоли
RazrFalcon
  опции профиля:
сообщение 6.2.2011, 13:33
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Вывожу информацию (XX%) в консоль, через qDebug().nospace()<<n<<"%";
Как сделать, что бы после каждого вывода все стиралось в:
1) консоли qtcreator
2) gnome-terminal
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sadhu
  опции профиля:
сообщение 6.2.2011, 15:08
Сообщение #2


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 22.11.2010
Пользователь №: 2209

Спасибо сказали: 0 раз(а)




Репутация:   0  


Кроссплатформенного способа в стандартах c/c++ насколько я знаю нет, но если очень надо :).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DEADHUNT
  опции профиля:
сообщение 6.2.2011, 15:57
Сообщение #3


Активный участник
***

Группа: Участник
Сообщений: 430
Регистрация: 15.4.2009
Пользователь №: 686

Спасибо сказали: 26 раз(а)




Репутация:   2  


std::cout << "\r" << progress << "%" << std::endl;
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 6.2.2011, 18:38
Сообщение #4


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Цитата(DEADHUNT @ 6.2.2011, 14:57) *
std::cout << "\r" << progress << "%" << std::endl;
Не пашит. Все равно
выводит.

А примера с Ncurses нет?

Сообщение отредактировал RazrFalcon - 6.2.2011, 18:38
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sadhu
  опции профиля:
сообщение 6.2.2011, 18:42
Сообщение #5


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 22.11.2010
Пользователь №: 2209

Спасибо сказали: 0 раз(а)




Репутация:   0  


Вот
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 6.2.2011, 20:05
Сообщение #6


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(RazrFalcon @ 6.2.2011, 18:38) *
Не пашит.

Убери std::endl, он же строку переводит.

std::cout << progress << "%" << '\r';


Сообщение отредактировал BRE - 6.2.2011, 21:12
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 6.2.2011, 22:55
Сообщение #7


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


std::cout << progress << "%" << '\r';

Вообще ничего не выводит.

У меня в цикле он.
Вынес в конец проги. Написало 99% и все.

Пример sadhu еще не пробовал.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DEADHUNT
  опции профиля:
сообщение 6.2.2011, 23:32
Сообщение #8


Активный участник
***

Группа: Участник
Сообщений: 430
Регистрация: 15.4.2009
Пользователь №: 686

Спасибо сказали: 26 раз(а)




Репутация:   2  


Да поторопился
std::cout << "\r" << progress << "%";
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 7.2.2011, 0:23
Сообщение #9


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Перед закрытием прога вывела:
Раскрывающийся текст
0%0%0%0%1%1%1%1%2%2%2%2%3%3%3%3%4%4%4%4%5%5%5%6%6%6%6%7%7%7%7%8%8%8%8%9%9%9%9%10%10%10%10%11%11%11%12%12%12%12%13%13%13%13%14%14%14%14%15%15%15%15%16%16%16%17%17%17%17%18%18%18%18%19%19%19%19%20%20%20%20%21%21%21%21%22%22%22%23%23%23%23%24%24%24%24%25%25%25%25%26%26%26%26%27%27%27%28%28%28%28%29%29%29%29%30%30%30%30%31%31%31%31%32%32%32%32%33%33%33%34%34%34%34%35%35%35%35%36%36%36%36%37%37%37%37%38%38%38%39%39%39%39%40%40%40%40%41%41%41%41%42%42%42%42%43%43%43%43%44%44%44%45%45%45%45%46%46%46%46%47%47%47%47%48%48%48%48%49%49%49%50%50%50%50%51%51%51%51%52%52%52%52%53%53%53%53%54%54%54%54%55%55%55%56%56%56%56%57%57%57%57%58%58%58%58%59%59%59%59%60%60%60%60%61%61%61%62%62%62%62%63%63%63%63%64%64%64%64%65%65%65%65%66%66%66%67%67%67%67%68%68%68%68%69%69%69%69%70%70%70%70%71%71%71%71%72%72%72%73%73%73%73%74%74%74%74%75%75%75%75%76%76%76%76%77%77%77%78%78%78%78%79%79%79%79%80%80%80%80%81%81%81%81%82%82%82%82%83%83%83%84%84%84%84%85%85%85%85%86%86%86%86%87%87%87%87%88%88%88%89%89%89%89%90%90%90%90%91%91%91%91%92%92%92%92%93%93%93%93%94%94%94%95%95%95%95%96%96%96%96%97%97%97%97%98%98%98%98%99%99%99%

До этого было пусто, ну кроме парочки сообщений от qDebug.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DEADHUNT
  опции профиля:
сообщение 7.2.2011, 0:46
Сообщение #10


Активный участник
***

Группа: Участник
Сообщений: 430
Регистрация: 15.4.2009
Пользователь №: 686

Спасибо сказали: 26 раз(а)




Репутация:   2  


#include <stdio.h>
#include <unistd.h>

int main()
{
    setvbuf(stdout, NULL, _IONBF, 0);
    for (int i = 0; i <= 100; ++i)
    {
        printf("\r%d%%", i);
        sleep(1);
    }
    return 0;
}

вот всё правильно работает, только надо буферизацию отключить, ну и всякую муть типа qDebug не использовать(можно сразу std::clog использовать так как там не используется буферизация)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 1.12.2024, 14:08