Есть файл в кодировке UTF-16LE, который надо обработать и сохранить в такой-же кодировке. Посмотрел форум - ничего не помогло
Мой код (консольное приложение)
C++ (Qt)
#include <stdio.h>
#include <QtCore>
#include <QTextCodec>
int main(int argc, char *argv[])
{
if (argc==2)
{
QString rszFile=argv[1];
////////
QFile fileRead( rszFile);
if( !fileRead.open( QIODevice::ReadOnly))
{
qCritical( "Can'not open file: %s for read", qPrintable( rszFile));
return false;
}
QTextCodec *pCodec = QTextCodec::codecForName("UTF-16LE");
QTextCodec::setCodecForCStrings( pCodec);
QString szData;
QTextStream out( &fileRead);
out.setCodec( pCodec);
QString szLine;
do
{
szLine = out.readLine();
szData += szLine + "\r\n";
}while( !szLine.isNull());
fileRead.close();
// Здесь идет некая обработка данных...
pCodec = QTextCodec::codecForName("UTF-16LE");
QTextCodec::setCodecForCStrings(pCodec);
QFile fileWrite( rszFile+".tr");
if( !fileWrite.open( QIODevice::WriteOnly))
{
qCritical( "Can'not open file: %s for write", qPrintable( rszFile));
return false;
}
QTextStream in( &fileWrite);
in.setCodec( pCodec);
in << szData;
fileWrite.close();
////////
}else
{
printf("Usage : tlrusencode file.dat\n");
}
return 1;
}
тестовый файл прикреплен. Помогите решить проблему