Qt 控制台输入输出(支持中文)
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();
}
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();
}
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();
}

本文介绍了如何使用Qt的QTextStream类以及标准C++和C语言进行控制台的输入输出操作,并确保能够正确处理中文字符。通过Qt的QTextStream可以实现行缓冲的输入输出,而C++则直接利用cin和cout。文章提供了具体的代码示例。

795

被折叠的 条评论
为什么被折叠?



