簡體   English   中英

如何使用Qt 5.7初始化stdout stdin

[英]How to initialize stdout stdin with Qt 5.7

我注意到qDebug()QTextStrean和通常的stdin,stdout想要詢問其實際工作方式,請參見以下內容:

這項工作!

使用QTextStream的showmenu()方法

showMenu(){
            QTextStream m_out(stdout);
            QTextStream m_in(stdin);

            m_out() << "Hey";
}

這不起作用!

。H

//declaration 

public:
   QTextStream m_out;
   QTextStream m_in;

.cpp

//method showMenu() 

showMenu(){
             m_out(stdout);
             m_in(stdin);

             m_out() << "Hey";
}

我注意到,它在重載方面存在問題,因為qDebug()也使用stdout ...我正確嗎?

它引發此錯誤:

1> D:.. \\ App_console.cpp(20,15):錯誤:無法匹配對'(QTextStream)(_IO_FILE *&)'的調用

我包括了cstdio

會是什么呢?

在C ++ 11之前的版本中,您需要在“ 構造函數初始化列表”中執行此操作 在類的構造器定義中,說MyStreamer ,您可以像這樣初始化它:

class MyStreamer{
....
public:
   QTextStream m_out;
   QTextStream m_in;
};

在您的.cpp文件中:

MyStreamer::MyStreamer(...) : m_out(stdout), m_in(stdin) {
    ....
}

在C ++ 11及更高版本中,您可以簡單地使用統一初始化

class MyStreamer{
....
public:
   QTextStream m_out{stdout};
   QTextStream m_in{stdin};
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM