Qt 控制台輸入輸出采用 QTextStream(stdin) 和QTextStream(stdout)。QTextStream 類有自己的緩存機制,一般是行緩沖,一行滿了才顯示,所以加了 endl 之后才會顯示,不加的話暫時不會顯示,等到 endl 或者程序結束的時候才會顯示。
而標准C中可以用 setvbuf(…) 來改變緩存機制,但是 Qt 沒有。
#include <QCoreApplication>
#include <QTextStream>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QTextStream qin(stdin);
QTextStream qout(stdout);
QString qstr;
qin>>qstr;
qout<<qstr<<endl;
return a.exec();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
C++ 控制台輸入輸出(支持中文)
C++ 控制台的輸入輸出采用 cin 和 cout。
#include <QCoreApplication>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
string str;
cin>>str;
cout<<str;
return a.exec();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
C 控制台輸入輸出(支持中文)
#include <QCoreApplication>
#include <stdio.h>
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
char str[255];
scanf("%s", str);
printf("%s", str);
return a.exec();
}
————————————————
版權聲明:本文為CSDN博主「福州-司馬懿」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/chy555chy/article/details/53609178