ページ

2013年12月29日日曜日

ファイルの読み込み :Qt

Qt でファイルを読み込む。

読み込むファイルの準備:ビルドディレクトリの中に data.txt を作成する。
#include "mainwindow.h"
#include <QApplication>
#include <QFile>
#include <QDebug>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
//QFile file( "D:\\qt\\qtTest\\data.txt" );//OK
QFile file( "data.txt" );// ビルドディレクトリの中のdata.txt
if (!file.open(QIODevice::ReadOnly))//読込のみでオープンできたかチェック
{
qDebug() << "can not open file." ;
return 0;
}
int n = 0;
QTextStream in( &file );
while (!in.atEnd()) {
QString line = in.readLine();
qDebug() << n << " : " << line ;// UTF-8 OK::UTF-8N は文字化け
n++;
}
return a.exec();
}
view raw main.cpp hosted with ❤ by GitHub
実行結果:
D:\qt\build-qtTest-Desktop_Qt_5_1_1_MinGW_32bit-Debug\debug\qtTest.exe を起動中...
0 : "abcdefg"
1 : "あいうえお"
2 : "12345"
3 : "12345" 

全文読み込み:
#include "mainwindow.h"
#include <QApplication>
#include <QFile>
#include <QDebug>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
//QFile file( "D:\\qt\\qtTest\\data.txt" );//OK
QFile file( "data.txt" );// ビルドディレクトリの中のdata.txt
if (!file.open(QIODevice::ReadOnly))//読込のみでオープンできたかチェック
{
qDebug() << "can not open file." ;
return 0;
}
QString str;
QTextStream in(&file);
str = in.readAll();//全文読込
qDebug() << str ;
return a.exec();
}
view raw main2.cpp hosted with ❤ by GitHub
実行結果:
D:\qt\build-qtTest-Desktop_Qt_5_1_1_MinGW_32bit-Debug\debug\qtTest.exe を起動中...
"abcdefg
あいうえお
12345
12345

0 件のコメント:

コメントを投稿