crossplatform.ru

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


  Ответ в Очистка консоли
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
BRE Дата 7.2.2011, 8:33
 
Цитата(DEADHUNT @ 7.2.2011, 0:46) *
вот всё правильно работает, только надо буферизацию отключить

Или делать принудительное выталкивание буфера (flush).
DEADHUNT Дата 7.2.2011, 0:46
 
#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 использовать так как там не используется буферизация)
RazrFalcon Дата 7.2.2011, 0:23
  Перед закрытием прога вывела:
Раскрывающийся текст
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 Дата 6.2.2011, 23:32
  Да поторопился
std::cout << "\r" << progress << "%";
RazrFalcon Дата 6.2.2011, 22:55
 
std::cout << progress << "%" << '\r';

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

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

Пример sadhu еще не пробовал.
BRE Дата 6.2.2011, 20:05
 
Цитата(RazrFalcon @ 6.2.2011, 18:38) *
Не пашит.

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

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

А примера с Ncurses нет?
DEADHUNT Дата 6.2.2011, 15:57
 
std::cout << "\r" << progress << "%" << std::endl;
sadhu Дата 6.2.2011, 15:08
  Кроссплатформенного способа в стандартах c/c++ насколько я знаю нет, но если очень надо :).
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 27.4.2024, 16:29