#ifndef QFILEVSIFSTREAM_H
#define QFILEVSIFSTREAM_H
#include <QWidget>
#include <QFile>
#include <QtDebug>
#include <fstream>
#include <ctime>
using namespace std;
namespace Ui {
class QFileVSifstream;
}
class QFileStopWatch
{
public:
QFileStopWatch() : start(std::clock()){}
~QFileStopWatch();
private:
std::clock_t start;
};
class ifstreamStopWatch
{
public:
ifstreamStopWatch() : start(std::clock()){}
~ifstreamStopWatch();
private:
std::clock_t start;
};
class QFileVSifstream : public QWidget
{
Q_OBJECT
public:
explicit QFileVSifstream(QWidget *parent = 0);
~QFileVSifstream();
private slots:
void on_qfileButton_clicked();
void on_ifstreamButton_clicked();
private:
Ui::QFileVSifstream *ui;
};
#endif // QFILEVSIFSTREAM_H
#include "qfilevsifstream.h"
#include "ui_qfilevsifstream.h"
QFileVSifstream::QFileVSifstream(QWidget *parent) : QWidget(parent), ui(new Ui::QFileVSifstream)
{
ui->setupUi(this);
}
QFileVSifstream::~QFileVSifstream()
{
delete ui;
}
QFileStopWatch::~QFileStopWatch()
{
QString filecontents;
QString line = "";
QFile file("in.txt");
file.open(QIODevice::ReadOnly | QIODevice::Text);
while (!file.atEnd()) {
line = file.readLine().constData();
filecontents.append(line);
}
clock_t total = clock()-start;
qDebug() << "Total ticks: " << total << "/ Total seconds: " << double(total)/CLOCKS_PER_SEC;
file.close();
}
ifstreamStopWatch::~ifstreamStopWatch()
{
string filecontents;
string line = "";
ifstream file;
file.open("in.txt");
while (!file.eof())
{
getline(file, line);
filecontents.append(line);
}
clock_t total = clock()-start;
qDebug() << "Total ticks: " << total << "/ Total seconds: " << double(total)/CLOCKS_PER_SEC;
file.close();
}
void QFileVSifstream::on_qfileButton_clicked()
{
qDebug() << "Started QFileStopWatch test.";
QFileStopWatch test_qfile;
}
void QFileVSifstream::on_ifstreamButton_clicked()
{
qDebug() << "Started ifstreamStopWatch test.";
ifstreamStopWatch test_ifstream;
}