我正在编写一个 C++ 程序以使用 C++ REST SDK 与 Internet 进行交互。我有一个主要功能和一个 webCommunication 功能。代码类似于下面:
void webCommunication(data, url)
{
//Communicate with the internet using the http_client
//Print output
}
int main()
{
//Obtain information from user
webCommunication(ans1, ans2);
system("PAUSE");
}
但是,在 webCommunication 函数完成之前,似乎 main 函数正在运行。如果我将 webCommunication 设为字符串的函数类型并具有
cout << webCommunication(ans1, ans2) << endl;
但这仍然会暂停,然后打印检索到的数据。通常,这会很好,希望我稍后在代码中指的是返回的答案。如果 webCommunication 未完成,应用程序将崩溃。我可以使用某种 wait_until 函数吗?
更新:我尝试使用建议的互斥锁但没有成功。我还尝试将函数作为线程启动,然后使用 .join() 仍然没有成功。