Russian Qt Forum
Ноябрь 23, 2024, 04:54
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Копирование файлов с помошью QProcess и cp! Проблема!!!
Страниц: [
1
]
2
3
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Копирование файлов с помошью QProcess и cp! Проблема!!! (Прочитано 18694 раз)
Radamas
Гость
Копирование файлов с помошью QProcess и cp! Проблема!!!
«
:
Март 13, 2008, 13:33 »
пытаюсь скопировать все файлы из одного директория в другой с помощью QProcess и команды cp, но ничего не происходит, только изменяется дата изменения файлов! Директории все созданы и из терминала команда работает на все 100, а при помощи QProcess похоже копирует файлы в то же место где они и лежали! Помогите! версия Qt 3.3.3:
что делаю:
QProcess proc;
proc.addArgument("cp");
proc.addArgument("-f");
proc.addArgument("/Maps/Temp/*.*");
proc.addArgument("/Maps/Temp/1");
bool result = proc.start() //возвращает 1
while(proc.isRunning())
{
}
В чем проблема не пойму! Может есть другие простые методы копирования файлов?
Записан
Steven_Orko
Гость
Re: Копирование файлов с помошью QProcess и cp! Проблема!!!
«
Ответ #1 :
Март 13, 2008, 14:18 »
Проблемма в том, что не дочитал мануал по башу либо по cp. Ты не указал, какие файлы копировать.
А файла со звездочками не существует. Это баш вместо звездочек поставляет по маске, что найдет.
Так что тебе надо явно указать, какие файлы копировать.
Записан
Radamas
Гость
Re: Копирование файлов с помошью QProcess и cp! Проблема!!!
«
Ответ #2 :
Март 13, 2008, 16:53 »
Цитата: Steven_Orko от Март 13, 2008, 14:18
Проблемма в том, что не дочитал мануал по башу либо по cp. Ты не указал, какие файлы копировать.
А файла со звездочками не существует. Это баш вместо звездочек поставляет по маске, что найдет.
Так что тебе надо явно указать, какие файлы копировать.
Спасибо большое:) я не догадался что в QProcess нельзя использовать *.*
Записан
BigHom
Гость
Re: Копирование файлов с помошью QProcess и cp! Проблема!!!
«
Ответ #3 :
Март 26, 2010, 15:23 »
Как записать результат выполния командной строки - в файл с помощью QProcess?
Записан
niXman
Гость
Re: Копирование файлов с помошью QProcess и cp! Проблема!!!
«
Ответ #4 :
Март 26, 2010, 15:29 »
Цитировать
cp file1.ext file2.ext > log.txt
Записан
BigHom
Гость
Re: Копирование файлов с помошью QProcess и cp! Проблема!!!
«
Ответ #5 :
Март 26, 2010, 15:38 »
Нет , скажем sl >a.a на QT -кажись должно :
QProcess proc;
proc.addArgument("sl");
proc.addArgument(">a.a");
bool result = proc.start() //возвращает 1
while(proc.isRunning())
{
}
но почему-то ничего не записывает...в файл a.a
Записан
crossly
Гость
Re: Копирование файлов с помошью QProcess и cp! Проблема!!!
«
Ответ #6 :
Март 26, 2010, 15:46 »
а может стоит попробовать QFile....
Записан
niXman
Гость
Re: Копирование файлов с помошью QProcess и cp! Проблема!!!
«
Ответ #7 :
Март 26, 2010, 15:49 »
Цитата: BigHom от Март 26, 2010, 15:38
Нет , скажем sl >a.a на QT -кажись должно :
QProcess proc;
proc.addArgument("sl");
proc.addArgument(">a.a");
bool result = proc.start() //возвращает 1
while(proc.isRunning())
{
}
но почему-то ничего не записывает...в файл a.a
вы о чем? и кто такой
sl
?
Записан
BigHom
Гость
Re: Копирование файлов с помошью QProcess и cp! Проблема!!!
«
Ответ #8 :
Март 26, 2010, 16:05 »
"Команда ls сначала выводит список всех файлов (не каталогов), перечисленных в командной строке, а затем выводит список всех файлов, находящихся в каталогах, перечисленных в командной строке. " Мне нужно подсчитать контрольную сумму cd - диска и записать в файл. С помощью командной строки можно найти как это сделать - вопрос как записать в файл, чтоб потом в программе использовать? Для примера взял команду sl.
Записан
BigHom
Гость
Re: Копирование файлов с помошью QProcess и cp! Проблема!!!
«
Ответ #9 :
Март 26, 2010, 16:28 »
Перепутал , команда "ls" - Я так думаю что подсчёт контрольной суммы : ls /mnt/cdrom -a |md5sum >a.a
Только почему-то ничего не записывает в файл . Поэтому упростил до: ls >a.a но всё равно с помощью QProcess ничего не записалось в файл...
Записан
crossly
Гость
Re: Копирование файлов с помошью QProcess и cp! Проблема!!!
«
Ответ #10 :
Март 26, 2010, 16:31 »
пайпы и команды перенаправления ввода-вывода с QProcess не работают...
используй
Код:
void QProcess::readyReadStdout () [signal]
и пиши потом это куда тебе надо...
Записан
BigHom
Гость
Re: Копирование файлов с помошью QProcess и cp! Проблема!!!
«
Ответ #11 :
Март 29, 2010, 09:11 »
Не совсем понял как писать , откуда считывать? Можно пример?
Записан
crossly
Гость
Re: Копирование файлов с помошью QProcess и cp! Проблема!!!
«
Ответ #12 :
Март 29, 2010, 12:28 »
это сигнал.... его испускает QProccess при проявлении данных в нем.... напиши слот.... соедини его сигналом.... и в нем читай данные..
Записан
BigHom
Гость
Re: Копирование файлов с помошью QProcess и cp! Проблема!!!
«
Ответ #13 :
Март 29, 2010, 15:00 »
Сигнал посылаю - данные давай , а нас посылают обратно...
Записан
BigHom
Гость
Re: Копирование файлов с помошью QProcess и cp! Проблема!!!
«
Ответ #14 :
Март 29, 2010, 16:28 »
Пишу с помощью файла .ui.h , поэтому если бы сигнал был бы от кнопки или ещё чего-нибудь , то подсоединил бы... а тут сигнал от QProcess поискал в примерах , там дано в таком виде:
QProcess proc7;
...
proc7.addArgument("ls");
proc7.addArgument(">a.a");
connect( proc7, SIGNAL(proc7.readyReadStdout()),
this, SLOT(readFromStdout()) );
void MyDialog2::readFromStdout()
{
// textEdit->append( proc7->readStdout() );
}
При компиляции выдаёт ошибку:
c:\Qt\myd290310\MyDialog2.ui.h(1149): error C2664: 'bool QObject::connect(const QObject *,const char *,const QObject *,const char *)' : cannot convert parameter 1 from 'QProcess' to 'const QObject *'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
Записан
Страниц: [
1
]
2
3
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...