Задача 1:
Ваша проблема связана с тем, что system
имеет подпись:
int system (const char *command);
То, что у вас есть, имеет тип std::string
.
Один из способов исправить это - создать новый std::string
, а затем получить указатель на символ, используя c_str()
.
string cmd("curl.exe -b cookie.txt -d test=");
cmd += line;
cmd += " http://example.com";
Затем передать содержимое на system
.
system(cmd.c_str());
Проблема 2:
Считывание данных и передача их непроверенными и нечистыми в system
позволит любому, кто использует вашу программу, запускать команды в оболочке.
Это угроза безопасности.