如何管理从线程读取全局字符串?

时间:2018-11-16 15:08:48

标签: c++

我在一个简单的程序中工作,该程序从std输入读取并在套接字消息到达时打印缓冲区。

std::string data;

void listen_for_messages();

int main(int argc, char *argv[])
{
  std::thread listenMessages(listen_for_messages);
  char c;
  while(cin.get(c)) {
     data += c;
  }
}

void listen_for_messages()
{
    while(1) {
        //receive a message from the socket
        std::cout << "\r>" << data << std::endl;
    }
}

但是数据总是空的,我不知道为什么。请帮帮我!

我正在使用g ++(Ubuntu 7.3.0-16ubuntu3)7.3.0编译器和以下编译命令:

g++ -o myprogram -pthread myprogram.cpp

0 个答案:

没有答案