Строка для curl -> char* Делаю так:
int main(int argc, char *argv[]) {
char* host;
int port;
cout << argv[0]; // имя программы
for (int i = 1; i < argc; i++) { // начинаем с 1, пропуская имя программы
if (i + 1 != argc) {
if (argv[i] == "--host") { // встретили параметр host
host = argv[i + 1]; // строка
} else if (argv[i] == "--port") { // параметр port
port = atol(argv[i + 1]); // int
}
}
}
CURL *curl;
CURLcode result;
string url_from_arguments;
url_from_arguments="http://www.myserver.ru/?port="+to_string(port)+"&host="+host;
curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_URL, url_from_argumets.c_str());
}
если вывести:
cout << url_from_arguments;
выходят кракозябры, но строки вроде как добавляются
Как исправить создание ссылки из параметров?
argv[i] == "--host"
сравнивает два указателя, а не строки, на которые они указывают. В результате неинициализированный указатель host
так и остается неинициализированным, а его разименование приводит к неопределенному поведению. Инициализируйте
char * host{};
используйте специальную функцию сравнения строк
if(0 == strcmp("--host", argv[i]))
и не забудьте проверить, что host стал не нулевым.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Под Windows есть функция создания нового процесса CreateProcess которая создает процесс в новом окне, и в нее можно передать флаг CREATE_NO_WINDOW, что бы это...
При использовании QLineEdit в приложении под андоид (Qt 57, Android 6
Конечно, можноЗакройте его деструктор (сделайте его private)
Пытаюсь вывести предложение с указанным искомым словом, но программа не выводит полностью всё предложение, а лишь часть текста