Тема: Частина даних пропадає при використанні cin. [вирішено]
Хочу передати дані з одної програми в іншу через стандартні потоки cin cout.
Написав тестову віконну прогу для передачі і тестову консольку для прийому/опрацювання/віддачі даних.
Але частина даних до консольки десь губиться по дорозі.
Прошу порад де копати.
void MainWindow::on_pushButton_clicked() {
    connect (process, SIGNAL(finished(int)), this, SLOT(printOutput()));
    connect (process, SIGNAL(finished(int)), this, SLOT(printError()));
    QFile *file = new QFile("D:/Yarko/c++/KGV/KGV/main.cpp"); //фізичний розмір 2161 байт
    file->open(QIODevice::ReadOnly);
    char buf[2500]; 
    file->read(buf, 2500); 
    qint64 size = file->size(); //2161. значення size коректне
    process->start("D:/Yarko/c++/KGV/build-KGVTest/debug/KGVTest.exe");
    process->write(buf, size);
    process->closeWriteChannel();
}
void MainWindow::printOutput() {
    QByteArray byteArray = process->readAllStandardOutput(); //приходить лише 1535 байт
    ui->plainTextEdit_2->appendPlainText(QString(byteArray));
}
void MainWindow::printError() {
    QByteArray byteArray = process->readAllStandardError(); //приходить стрічка "1535"
    ui->plainTextEdit_3->appendPlainText(QString(byteArray));
}int main(int argc, char *argv[]) {
    QCoreApplication a(argc, argv);
    char buf[2500];
    int i = 0;
    char c;
    while (cin.good()) {
        cin >> c;
        if (c == ' ') cerr << 's'; //перевірка чи символ - пропуск
        buf[i] = c;
        ++i;
    }
    cout.write(buf, i);
    cerr << i;
    return 0;
}Як мінімум з потоку не читаються пропуски і \r\n.
p.s. сигнал QProcess::bytesWritten(qint64) показує коректну кількість записаних байт