Клиент C++ TDLib зацикливается без остановки для std::getline при ожидании ввода номера телефонаC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Клиент C++ TDLib зацикливается без остановки для std::getline при ожидании ввода номера телефона

Сообщение Anonymous »

Я работаю над программой на C++, использующей TDLib
для входа в Telegram. Я хочу запросить у пользователя номер телефона, код подтверждения и пароль 2FA.
Однако программа работает бесконечно и никогда не ждет ввода в std::getline. Вот полный фрагмент:

Код: Выделить всё

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#include "td/telegram/td_json_client.h"

using json = nlohmann::json;

struct Credentials {
static constexpr int64_t API_ID = 38753935;
static constexpr const char* API_HASH = "4b80a6b40a8b2fd3396f7e8599d7ef16";
};

enum class AuthState {
WaitTdlibParameters,
WaitPhoneNumber,
WaitCode,
WaitPassword,
Ready,
Closed
};

class TelegramClient {
private:
void* client_;
AuthState current_state_ = AuthState::WaitTdlibParameters;
std::atomic input_pending_{false};

void cleanup_tdl_db(const std::string& db_dir) {
std::filesystem::path db_path(db_dir);
if (std::filesystem::exists(db_path)) {
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79838563/c-tdlib-client-loops-without-stopping-for-stdgetline-when-waiting-for-phone[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»