今天您好,我试图在有cin的情况下不断检查用户的连通性。
这是代码:
while (true)
{
if (InternetCheckConnection(networkBuffer, FLAG_ICC_FORCE_CONNECTION, 0) != false)
{
while (cin >> userInput)
{
cout << "> " << userInput << endl;
}
} else {
break;
}
}
我确定问题出在cin,但我必须不断检查用户的连接性(也在进行cin时)。
。 。
有些人(在stackoverflow上)告诉我使用线程...只是我不知道如何使用线程来解决此问题。所以我尝试了这种方法
void test()
{
if (InternetCheckConnection(networkBuffer, FLAG_ICC_FORCE_CONNECTION, 0) != false
{
cout << "success" << endl;
} else {
exit(0);
}
}
int main()
{
thread first;
cout << "1: " << first.joinable() << endl;
first = thread(test);
cout << "2: " << first.joinable() << endl;
string s;
cin >> s;
first.join();
cout << "3: " << first.joinable() << endl;
system("PAUSE");
}
但是此代码的唯一问题是他在cin之前而不是在cin时检查。
谢谢。