Вопрос Как сделать анимацию вывода текста в консоль? И можно ли это вообще сделать?

already
Пользователь
Статус
Оффлайн
Регистрация
9 Апр 2020
Сообщения
373
Реакции[?]
42
Поинты[?]
0
Решено :)
-------------------------

Например есть "Hello". Хотелось бы, что бы он не просто вываливался целым текстом, а по одной букве с задержкой к примеру в пол секунды
Так выглядит слишком крупно и неудобно:
Код:
    std::cout << "H";
    Sleep(500);
    std::cout << "e";
    Sleep(500);
    std::cout << "l";
    Sleep(500);
    std::cout << "l";
    Sleep(500);
    std::cout << "o";
Можно ли по другому сделать?
Полазил немного по форумам, находил слегка другое (Мб слепой) :FeelsBadMan:
с++ ес шо
 
Последнее редактирование:
Забаненный
Статус
Оффлайн
Регистрация
22 Мар 2021
Сообщения
1,019
Реакции[?]
314
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Как вариант

C++:
static int count = 0;
static std::string text = "aye";
if (++count > 10) {
std::rotate(text.begin(), text.begin() + 1, text.end());
// при помощи SetConsoleCursorPosition можешь менять значение определенной строки на text
count = 0
}
 
already
Пользователь
Статус
Оффлайн
Регистрация
9 Апр 2020
Сообщения
373
Реакции[?]
42
Поинты[?]
0
Как вариант

C++:
static int count = 0;
static std::string text = "aye";
if (++count > 10) {
std::rotate(text.begin(), text.begin() + 1, text.end());
// при помощи SetConsoleCursorPosition можешь менять значение определенной строки на text
count = 0
}
Ничего не выводит вообще) Либо выводит без анимации
 
Эксперт
Статус
Оффлайн
Регистрация
17 Янв 2020
Сообщения
2,197
Реакции[?]
718
Поинты[?]
79K
Товары в продаже
1
Участник
Статус
Оффлайн
Регистрация
2 Фев 2020
Сообщения
818
Реакции[?]
378
Поинты[?]
0
Например есть "Hello". Хотелось бы, что бы он не просто вываливался целым текстом, а по одной букве с задержкой к примеру в пол секунды
Так выглядит слишком крупно и неудобно:
Код:
    std::cout << "H";
    Sleep(500);
    std::cout << "e";
    Sleep(500);
    std::cout << "l";
    Sleep(500);
    std::cout << "l";
    Sleep(500);
    std::cout << "o";
Можно ли по другому сделать?
Полазил немного по форумам, находил слегка другое (Мб слепой) :FeelsBadMan:
с++ ес шо
C++:
std::string word = "hello";

for (auto letter : word) {
    std::cout << letter;
    std::this_thread::sleep_for(0.5s);
}
Код:
    std::string Hello = "Hello";
    for (int i = 0; i < Hello.length(); i++) {
        std::cout << Hello[i];
        Sleep(500);
    }
зачем так оверкодить
 
Эксперт
Статус
Оффлайн
Регистрация
17 Янв 2020
Сообщения
2,197
Реакции[?]
718
Поинты[?]
79K
Товары в продаже
1
Забаненный
Статус
Оффлайн
Регистрация
8 Май 2022
Сообщения
144
Реакции[?]
14
Поинты[?]
2K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
22 Мар 2021
Сообщения
1,019
Реакции[?]
314
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сверху Снизу