Я кодирую программу на C++ для взаимодействия с Интернетом с помощью C++ REST SDK. У меня есть основная функция и функция webCommunication. Код похож на ниже:C++ Function Completing Before Other Function Finishes
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 закончена. Если я webCommunication типа функции строки и имеет
cout << webCommunication(ans1, ans2) << endl;
Но до сих пор делает паузу, а затем выводит данные извлекаются. Обычно это было бы хорошо, я надеюсь, что я вернусь к ответу позже в коде. Если веб-связь не завершена, приложение аварийно завершает работу. Есть ли какая-то функция wait_until, которую я могу использовать?
ОБНОВЛЕНИЕ: Я попытался использовать мьютексы, предложенные без успеха. Я также попытался запустить функцию в виде потока, а затем использовать .join(), все еще не добившись успеха.
Проверьте REST SDK на функции, которые ждут окончания потока. –