Problem in Using QProcess



  • First of all I make a file which reads program written on plainTextEdit and batch file for output and i am able to reterive the output from batch file and display it to another plainTextEdit but problem arises in case of cin and scanf statements .For example :

    #include<iostream>
    using namespace std;
    int main()
    {
    int a,b;
    cout<<"Enter two numbers";
    cin>>a>>b;
    return 0;
    }
    When i compiled this program a batch file will open that does not contain Enter two numbers statement that means it can take the input only but does show cout/printf statements,that is creating problem because user will not be able to detect what to enter. As i understands the problem and know what to enter in a batch file suppose i enetered 2 3 so output reterive to a plainTextEdit is correct i.e Enter two numbers 2 3. But problem occurs at User Console/Command Prompt.

    The Code is:
    bool MainWindow::run_file()
    {
    QMessageBox msgBox;
    QString program = "cons.bat";
    QString st="PRESS OKK!!";
    QStringList arguments;
    QProcess *proc = new QProcess(this);
    proc->startDetached(program);

    if(proc->NotRunning)
    

    msgBox.setText(st);
    msgBox.exec();
    proc->waitForFinished();

    display_output();
    return(true);
    

    }
    void MainWindow::display_output()
    {

    QFile file&#40;"out.txt"&#41;;
    if(!file.open(QIODevice::ReadOnly)) {
            QMessageBox::information(0, "error", file.errorString());
       }
    //QTextStream str(&file);
    
    QString out_str;
    
    while (!file.atEnd())
    {
        out_str=file.readAll();
    }
    ui->plainTextEdit_3->clear();
    ui->plainTextEdit_3->insertPlainText(out_str);
    file.remove();
    

    }

    How to use flush in my code? I want everytime cout/printf occurs output statement appears in or flush to console window? Need Help!!!



  • Flush is a right way to use in my problem?? Somebody please tell me something ?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.