отправка в телеграм через ShellExecute curl c++
Отравка файла в телеграм, мне не удобно делать сразу всё в ручную(писать внутри токен и чат айди) Практичней для меня будет подставление из переменных.
string pathfile = "C:\\Users\\ffz\Desktop\\test.txt";
string token = "dfghdfhdfhf";
string chatid = "12312312312";
ShellExecuteA(NULL, "open", "cmd.exe", L"/c curl -v -F ""chat_id = " + chatid + """ -F document=@"+pathfile+" https://api.telegram.org/bot" + token + "/sendDocument", NULL, SW_SHOW);
Мой код. Не работает из-за того что VS не воспринимает знак "+".
Ответы (1 шт):
Автор решения: KoVadim
→ Ссылка
Все оно воспринимает. Просто нельзя складывать const char* и std::string и надеятся, что получится const char*. Ну хотя бы так
string pathfile = "C:\\Users\\ffz\Desktop\\test.txt";
string token = "dfghdfhdfhf";
string chatid = "12312312312";
std::string r = std::string("/c curl -v -F ""chat_id = ") + chatid + """ -F document=@"+pathfile+" https://api.telegram.org/bot" + token + "/sendDocument";
ShellExecuteA(NULL, "open", "cmd.exe", r.c_str(), NULL, SW_SHOW);
я просто скопировал там текст, но кол-во кавычек странное. Но подозреваю, что это Вы там что то порезали.
Но если это просто хочется двойную кавычку вставить, то ее нужно просто заескейпить. где то так
"\""