powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Qt class QProcess
1 сообщений из 1, страница 1 из 1
Qt class QProcess
    #34835422
Фотография Zmeishe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как на Qt отправить e-mail с вложенным файлом

если в Linux из командной строки набрать
echo "Text message" | mutt -s "Subj message" test@test.ru -a /<path>/main.cpp
то будет отправлено письмо с файлом main.cpp

Но если тоже самое сделать программно через QProcess

Код: plaintext
1.
2.
3.
4.
5.
6.
     proc = new QProcess ();     
     QStringList list = QStringList::split(" ", "echo \"Text message\" | mutt -s \"Subj message\" test@test.ru -a /<path>/main.cpp");    
     QStringList::iterator it;
    for(it = list.begin(); it != list.end(); ++it)
     proc->addArgument(*it);   
     proc->start();
     delete proc;


То ничего не произойдёт. А в stdout будет выведено
"Text message" | mutt -s "Subj message" test@test.ru -a /<path>/main.cpp

На одном из сайтов прочитал, что это из-за того, что в первом случае проиходит куча подстановок т.к. команда выполняется в bash оболочке.
A QProcess просто запускает процесс и никаких подстановок не происходит т.к. процесс запускается без bash.

Как правильно должна выглядеть командная строка для QProcess, чтобы всё корректно выполнилось ?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Qt class QProcess
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]