Russian Qt Forum

Qt => Общие вопросы => Тема начата: Gop-Stop от Август 23, 2005, 23:56



Название: беда при копировании файлов
Отправлено: Gop-Stop от Август 23, 2005, 23:56
Тупичек образовался. При копировании файла Qt способом он выкидывает нули в конец файла в  который идет запись и все это потому что  я незнаю на сколько он заполнил  Q_UINT32 magic;

да и копирование в два раза медленее чем классикой

pathS=QString::fromLocal8Bit("f:/ышма.m2v");
path=QString::fromLocal8Bit("f:/temp/ышма.m2v");

Q_UINT32 magic;

QFile Read(pathS);
QFile Write(path);
if(Read.open(IO_ReadOnly)){
   QDataStream dataRead(&Read);
   Write.open(IO_WriteOnly);
   QDataStream dataWrite(&Write);
        while(!dataRead.atEnd()){
         dataRead >> magic;
         dataWrite << magic;
         }
}
Read.close();
Write.close();


//                   А классикой  не понимает  русских файлов и путей  !!!

char buffer[1024];
sizebuffer=sizeof(buffer);
ifstream in(pathS,ios::in | ios::binary);
ofstream out(path,ios::out | ios::binary);
while(!in.eof()){
   in.read(buffer,sizebuffer);
        out.write(buffer,in.gcount());
}

Вот так...  Поможите ?


Название: беда при копировании файлов
Отправлено: Gop-Stop от Август 25, 2005, 00:08
Отбой, сам разобрался
вот как надо было записать
ifstream in(QFile::encodeName(pathS),ios::in  | ios::binary);