#include <QApplication>
#include <QtGui>
#include <QLabel>
#include <QFile>
#include <QDebug>
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QFile file("/home/donghuayu/untitled/someThing.txt");
//QString aa;
//file.open(QIODevice::ReadOnly);
//aa=file.readLine();
QLabel *lable=new QLabel();
//lable->show();
//QString line;
QTextCodec *code=QTextCodec::codecForName("utf8");//本人采用的是UTF8格式显示的
//QFile file("/home/donghuayu/untitled/someThing.txt");
file.open(QIODevice::ReadOnly);
QTextStream stream(&file);
stream.setCodec(code);//输出流的设置--------必须嘀
while(stream.atEnd()==0)
{
lable ->setText(stream.readLine());
qDebug()<<stream.readLine();
}
lable->show();
file.close();
return app.exec();
}
##############################################
上例中,最终显示在label上面的是文本中倒数第二行的内容,在控制台中debug显示的内容是双数行的内容(既第1,3,5,7……等行不显示)
##############################################
html-〉Qt(cgi)-〉webserver-〉IE:
#include <QtCore/QCoreApplication>
#include<iostream>
#include<cstdio>
#include<QFile>
#include<QTextStream>
#include<QtGlobal>
#include <QDebug>
#include <QTextCodec>
int main()
{
printf("%s\n\r\n","Content-Type:text/html;charset:UTF-8");
printf("<TITLE>Example</TITLE>\n");
QFile file("/home/example.htm");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)){
return 0;
}
// file.setEncodingFunction();
QTextStream in(&file);
in.setCodec(QTextCodec::codecForName("UTF-8"));//输入流要定义一个编码规范,否则很容易乱码
QTextStream out(stdout);
out.setCodec(QTextCodec::codecForName("UTF-8"));//输出流也同样需要一个encoding
while (!in.atEnd()) {
QString line = in.readLine();//以行为单位输出
out<<(line);
out.flush();
}
file.close();
return 0;
}
##############################################
上例中,当服务器配置完成后,在IE端可以正常显示要输出的html
##############################################

本文介绍使用Qt应用程序读取文本文件并逐行显示的方法,同时演示了如何通过CGI程序将HTML文件内容输出到Web浏览器的过程。
466

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



