[SOLVED] Can`t send data to QProcess
-
I
m trying to create an app, which can compile and run some simple cpp progs, so I need to write an output to textEdit and read input from lineEdit. The code below compiles, but the data isn
t sending to the process corectly (nothing happends).
@void MainWindow::on_lineEdit_returnPressed()// input from lineEdit
{
ui->textEdit->insertPlainText(ui->lineEdit->text()+"\n");
cp->write(ui->lineEdit->text().toStdString().c_str());
ui->lineEdit->clear();
}
void MainWindow::on_action_24_triggered()
{
// The code below compiles and runs the prog from textEdit
QString str = tabs[cur_tab]->toPlainText();
QFile("temp.cpp").remove();
QFile file("temp.cpp");
file.open(QIODevice::Append | QIODevice::Text);
QTextStream out(&file);
out << str;
out << "\n";
file.close();
cp->start(("g++ temp.cpp"));
cp->waitForFinished();
if (!QFile::exists("a.exe"))
{
qDebug() << "Error";
ui->textEdit->append(cpError);
}
else
{
cp->start("a.exe");
//Another trouble here
//cp->waitForFinished(); //<-If not commented then the programm crashes
//QFile("a.exe").remove(); // And the file cant be removed, because is still running } }@ The main problem is that the data can
t reach the process, I dont know why. There
re no warns or errors that are displayed.
P.S. Sorry for my english!http://postimage.org/image/4sk3ru0wh/(Screenshot of my UI)! -
Though not look into it, I think you may want to try QProcess::readAllStandardOutput() or QProcess::readAllStandardError() for details.
-
The problem has been solved - you need to send "\n" at the end of input.