我在一个简单的程序中工作,该程序从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