0

我可以阅读来自我的扩展程序的消息,但无法将消息从我的 c++ 本机应用程序发送到我的 chrome 扩展程序。我正在使用 Win 8 64 位。chrome 日志根本不报告任何错误,因此没有来自那里的信息。

这是我的代码:

void SendMessage(string msg){
    _setmode(_fileno(stdout), _O_BINARY);
    unsigned int len =  msg.length();
    cout.write((char*)&len,4);
    //cout.write(reinterpret_cast<char*>(&len),4);
    std::cout << msg << flush;
}

string ReadMessage(){
    string msg = "";
    std::cout.setf( std::ios_base::unitbuf );
    unsigned int ch;//, len = 0;

    //another way to get the length
    _Uint32t len = 0;
    cin.read(reinterpret_cast<char*>(&len) ,4);

    //  read len number of characters as the message
    for (int i=0; i < len; i++) {
        ch = getchar();
        msg += ch;
    }
    return msg;
}

int _tmain(int argc, _TCHAR* argv[])
{
    //reading messages from the extension
    string msg = ReadMessage();
    //here i write the msg into log and it's there.

    //sending a message
    SendMessage ("sent by C++");

    return 0;
}

这段代码有什么问题?我尝试了许多组合来编写消息。另外,我尝试过使用或不使用该 _setmode 功能,但仍然无法正常工作。

谢谢你的帮助。

4

0 回答 0