Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: fortran1986 03. 09. 2021, 17:00:12

Název: C++ fmt.dev a flush
Přispěvatel: fortran1986 03. 09. 2021, 17:00:12
Ahojte ako v knižnici fmt.dev (http://"https://fmt.dev/") docielim aby sa mi pri printovaní textu, ten text aj hneď vložil na štandartný výstup? Keď urobím toto:

Kód: [Vybrat]
fmt::print("Connecting to WiFi ");
while (!wifi.is_connected_to_ap())
{
    fmt::print(".");
    vTaskDelay(250 / portTICK_PERIOD_MS);
}
fmt::print("\nThe device is connected.\n");

Text sa nevypisuje.

Keď to prepíšem do STL a pridám tam flush:

Kód: [Vybrat]
fmt::print("Connecting to WiFi ");
while (!wifi.is_connected_to_ap())
{
    std::cout << ".";
    std::cout.flush();
    vTaskDelay(250 / portTICK_PERIOD_MS);
}
fmt::print("\nThe device is connected.\n");

Tak sa loading normálne vypisuje. Má fmt libka niečo ako flush?
Název: Re:C++ fmt.dev a flush
Přispěvatel: madmaxoft 04. 09. 2021, 23:05:41
Ahoj,
fmt::print vypisuje normalne do stdout, takze staci pouzit fflush(stdout);
Název: Re:C++ fmt.dev a flush
Přispěvatel: fortran1986 04. 09. 2021, 23:44:16
Ahoj,
fmt::print vypisuje normalne do stdout, takze staci pouzit fflush(stdout);

Dik. Hej máš pravdu, medzitým som to vyriešil v princípe rovnako len inou funkciou.