Russian Qt Forum
Ноябрь 25, 2024, 19:48 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: копирование файлов writeRawData  (Прочитано 2264 раз)
sasha111
Гость
« : Декабрь 24, 2010, 15:21 »

Снова я)

пытаюсь написать программу для загрузки макетов на сервер

Код
C++ (Qt)
int blockSize = 2048;
   QFile files("C:/Qt/2010.04/maket-build-desktop/2345324.jpg");
 
   QFile f_write("//192.168.155.1/ftp/2345324.jpg");
 
qDebug() << "start!";
   files.open(QIODevice::ReadOnly);
   f_write.open(QIODevice::WriteOnly);
   QDataStream  stream(&files);
   QDataStream writeS(&f_write);
 
 
char *datas = new char();
 
   while(!stream.atEnd())
   {
       stream.readRawData(datas,blockSize);
qDebug() << "byte!";
writeS.writeRawData(datas,blockSize);
 
}

вродебы все и хорошо, но приложение вылетает при чтении изображений(.jpg), текстовые файлы нормально считывает и записывает.
НО если я поставлю blockSize = 10, то изображение считаеться и загрузиться на сервер, но длиться будет очень долго)
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Декабрь 27, 2010, 10:14 »

Кошмар. Учи с++. Ты же память хериш по полной программе.
char *datas = new char [blockSize];

И delete [] datas не забудь после цикла.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.096 секунд. Запросов: 22.