gpt4 book ai didi

windows - 在 system() 函数中使用变量 c++

转载 作者:可可西里 更新时间:2023-11-01 13:16:04 24 4
gpt4 key购买 nike


string line;
ifstream myfile ("aaa.txt");
getline (myfile,line);
system("curl.exe -b cookie.txt -d test="+line+" <a href="http://example.com" rel="noreferrer noopener nofollow">http://example.com</a>");

而且它不起作用!我也试过 line.c_str();但它也没有用。请帮助我。

最佳答案

它不起作用,因为您将 C++ 字符串传递给 C 函数 system()。 c_str() 可以提供帮助,但您应该将它应用于整个字符串:

system(("curl.exe -b cookie.txt -d test="+line+"  http://example.com").c_str());

如以下评论所述,将随机变量传递给 system() 可能非常危险,因此只有在您确切知道它可能包含的内容时才应该这样做。如果它由用户提供或从网络接收,您可能不应该这样做。通过某种“转义”函数传递字符串或使用 spawn()/exec()/任何其他不会将其传递给 shell 的函数。

关于windows - 在 system() 函数中使用变量 c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4907805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com