2016-09-01 7 views
0

QT5のを使用して、txtファイルまたはイメージからバイト配列を作成し、そのデコードを使用してファイルを正しく再作成できました。しかし、私が.dbファイル(SQLITE)を試してみると、うまくいきませんでした。データベースファイルからQByteArrayを作成する方法

テキストエディタで.dbを開くと、 "SQLite format 3"の後にエンコードされた文字が表示されます。 QByteArrayを.dbファイルから作成した後、decode()を実行してファイルを再作成した後、テキストエディタで開くと、ファイルには「SQLite format 3」というテキストのみが含まれます。

QByteArrayはtxtファイルまたはImageファイルでのみ動作しますか?

場合は、.db(SQLITE)ファイルからバイトの配列を作成できます。

おかげ


アップデート1(作品belowsのコード):

QFile file("C:/database.db"); 
if(!file.open(QIODevice::ReadOnly)) 
    qDebug()<<"You are stupid!"; 

QByteArray byteArray = file.readAll(); 

QFile file2("C:/database2.db"); 
file2.open(QIODevice::WriteOnly); 
file2.write(byteArray); 

file2.close(); 
file.close(); 

アップデート2:私は私の最初の質問で述べたデコードについて

、私が使用していました以下:

QString QFile::decodeName(const QByteArray & localFileName) 

これは、ドキュメントを慎重に読んだときに意味をなさないものであり、間違っていました。 :)

+0

'decode()'とはどういう意味ですか?自己完結型の最小限の例を示してください。これは簡単だと思われる、あなたは何か間違っている。 –

+0

いいえ、 'QByteArray'は内部に何があるか気にしません。 –

答えて

関連する問題