Strumienie cin oraz cout są buforowane, co oznacza, że dane nie są wypisywane/wczytywane za każdym razem, gdy sobie tego zażyczymy, lecz hurtem – gdy danych się troche nazbiera. Powoduje to nieprawidłowe współdziałanie funkcji z stdio ze strumieniami, gdyż używając printf/scanf dane są wypisywane od razu. Może dojść do sytuacji, gdy np. przeplatasz wyświetlanie danych na ekranie za pomocą strumieni i funkcji z stdio, że dane będą wypisywane w niepoprawenej kolejności.

Jeżeli chcesz, aby nie było problemów, na początku programu dodaj linijkę:

Dzięki czemu dane będą wypisywane przez strumienie od razu, w każdym momencie, gdy sobie tego zażyczysz. Tracimy jednak tym sposobem szybkość strumieni.

Autor: Spine