• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z kodem Qt

VPS Starter Arubacloud
0 głosów
284 wizyt
pytanie zadane 5 sierpnia 2019 w C i C++ przez Ewaryst Ławecki Obywatel (1,710 p.)

Witam.

Dlaczego podczas wykonywania mojego kodu konsola najpierw woła o ciąg znaków a dopiero potem wyświetla cokolwiek? Skoro w kodzie jest zupełnie odwrotnie.

 

#include <QTextStream>
#include <QString>

QTextStream cout(stdout);
QTextStream cin(stdin);

int main() {

    QString x;
    cout<<"podaj x";
    cin>>x;
    
return 0;
}

 

komentarz 5 sierpnia 2019 przez Ewaryst Ławecki Obywatel (1,710 p.)
Problem rozwiązałem dodając endl w ten sposob "cout<<"podaj x"<<endl;"

 

Ale nie mam pojęcia czemu to teraz działa :/
komentarz 6 sierpnia 2019 przez j23 Mędrzec (194,920 p.)

Działa, bo std::endl poza dodaniem znaku końca linii do strumienia flushuje go, czyli przesyła zawartość bufora wyjściowego do standardowego wyjścia. Metoda sync_with_stdio powinna rozwiązać problem.

2 odpowiedzi

0 głosów
odpowiedź 6 sierpnia 2019 przez niezalogowany
edycja 6 sierpnia 2019
.A próbowałeś cin.tie() czy jakoś tak;

EDIT Bo odpowiedz nie na temat

//----------------------------------------------------------

Nie mam Qt więc mogę się mylić bo nie mogę sprawdzić,

Ale jak byś dodał przestrzeń nazw std:: to powinno działać zawsze. O ile pamiętam to tak do kodu wrzucałem cały kod c::b;

std::cout<<...........

std::cin>>...........

,ale do Qt konsoli to raczej qDebug()<< czy jakoś tak
0 głosów
odpowiedź 6 sierpnia 2019 przez Bondrusiek Maniak (61,370 p.)

Możesz wprowadzić nową linię używając znaku specjalnego '\n', który wprowadza nową linię. Tutaj jeszcze inne przykłady

 

Character ASCII Representation ASCII Value Escape Sequence
Newline NL (LF) 10 \n
Horizontal tab HT 9 \t
Vertical tab VT 11 \v
Backspace BS 8 \b
Carriage return CR 13 \r
Formfeed FF 12 \f
Alert BEL 7 \a
Backslash \ 92 \\
Question mark ? 63 \?
Single quotation mark ' 39 \'
Double quotation mark " 34 \"
Octal number ooo -- \ooo
Hexadecimal number hhh -- \xhhh
Null character NUL 0 \0

Podobne pytania

+1 głos
1 odpowiedź 267 wizyt
pytanie zadane 6 października 2019 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)
0 głosów
2 odpowiedzi 272 wizyt
pytanie zadane 27 lipca 2019 w C i C++ przez Ewaryst Ławecki Obywatel (1,710 p.)
0 głosów
0 odpowiedzi 231 wizyt
pytanie zadane 22 lipca 2019 w C i C++ przez Huberti Gaduła (4,500 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...