标准格式的QT main函数代码,值得借鉴
Posted 欢乐的企鹅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了标准格式的QT main函数代码,值得借鉴相关的知识,希望对你有一定的参考价值。
标准格式的QT main函数代码,值得借鉴
#include <QCoreApplication>
#include <QFile>
#include <QStringList>
#include <QTextStream>
#include <QXmlStreamReader>
/*
This class exists for the sole purpose of creating a translation context.
*/
class XmlStreamLint
public:
Q_DECLARE_TR_FUNCTIONS(XmlStreamLint)
;
int main(int argc, char *argv[])
//使用枚举来定义程序退出值,提高程序的可阅读性
enum ExitCode
Success,
ParseFailure,
ArgumentError,
WriteError,
FileFailure
;
QCoreApplication app(argc, argv);
QTextStream errorStream(stderr);
//提高程序的容错能力
if (argc != 2)
errorStream << XmlStreamLint::tr(
"Usage: xmlstreamlint <path to XML file>\\n");
return ArgumentError;
QString inputFilePath(QCoreApplication::arguments().at(1));
QFile inputFile(inputFilePath);
if (!QFile::exists(inputFilePath))
errorStream << XmlStreamLint::tr(
"File %1 does not exist.\\n").arg(inputFilePath);
return FileFailure;
else if (!inputFile.open(QIODevice::ReadOnly))
errorStream << XmlStreamLint::tr(
"Failed to open file %1.\\n").arg(inputFilePath);
return FileFailure;
QFile outputFile;
if (!outputFile.open(stdout, QIODevice::WriteOnly))
errorStream << XmlStreamLint::tr("Failed to open stdout.");
return WriteError;
QXmlStreamReader reader(&inputFile);
QXmlStreamWriter writer(&outputFile);
while (!reader.atEnd())
reader.readNext();//合理的空行,让代码看起来更舒适
if (reader.error())
errorStream << XmlStreamLint::tr(
"Error: %1 in file %2 at line %3, column %4.\\n").arg(
reader.errorString(), inputFilePath,
QString::number(reader.lineNumber()),
QString::number(reader.columnNumber()));
return ParseFailure;
else
writer.writeCurrentToken(reader);
return Success;
以上是关于标准格式的QT main函数代码,值得借鉴的主要内容,如果未能解决你的问题,请参考以下文章