c++ - 通过命令行传递 URL(C++)

标签 c++ linux command command-line-arguments

我有解析 2 个命令行参数并打印参数的 C++ 代码。其中一个参数是谷歌搜索的 URL。我把代码贴在下面

int main(int argc, char* argv[])
{
  std::cout << argv[1] << argv[2] << "\n";

}

当我编译后通过命令行传递 URL 时,如下所示,

./demo 1 https://www.google.co.in/search?sourceid=chrome-psyapi2&ion=1&espv=2&ie=UTF-8&client=ubuntu&q=size%20of%20unsigned%20char%20array%20c%2B%2B&oq=length%20of%20unsigned%20char*%20arra&aqs=chrome.4.69i57j0l5.13353j0j7

我得到的输出是,

[1] 8680
[2] 8681
[3] 8682
[4] 8683
[5] 8684
[6] 8685
[7] 8686
[2]   Done                    ion=1
[3]   Done                    espv=2
[4]   Done                    ie=UTF-8
[6]-  Done                    q=size%20of%20unsigned%20char%20array%20c%2B%2B

看起来字符串内部有一些 split 。有什么方法可以检索整个字符串吗?

提前谢谢你。

最佳答案

你必须引用它。否则 & 会被 shell 解释为“在后台调用 & 左边的内容”。

我有幸用 echo 替换了您的程序。

好:

$ echo "https://www.google.co.in/search?sourceid=chrome-psyapi2&ion=1&espv=2&ie=UTF-8&client=ubuntu&q=size%20of%20unsigned%20char%20array%20c%2B%2B&oq=length%20of%20unsigned%20char*%20arra&aqs=chrome.4.69i57j0l5.13353j0j7"
https://www.google.co.in/search?sourceid=chrome-psyapi2&ion=1&espv=2&ie=UTF-8&client=ubuntu&q=size%20of%20unsigned%20char%20array%20c%2B%2B&oq=length%20of%20unsigned%20char*%20arra&aqs=chrome.4.69i57j0l5.13353j0j7

差:

$ echo https://www.google.co.in/search?sourceid=chrome-psyapi2&ion=1&espv=2&ie=UTF-8&client=ubuntu&q=size%20of%20unsigned%20char%20array%20c%2B%2B&oq=length%20of%20unsigned%20char*%20arra&aqs=chrome.4.69i57j0l5.13353j0j7
[1] 21705
[2] 21706
https://www.google.co.in/search?sourceid=chrome-psyapi2
[3] 21707
[4] 21708
[5] 21709
[6] 21710
[7] 21711
[1]   Done                    echo https://www.google.co.in/search?sourceid=chrome-psyapi2
[2]   Done                    ion=1
[3]   Done                    espv=2
[4]   Done                    ie=UTF-8
[5]   Done                    client=ubuntu
[6]-  Done                    q=size%20of%20unsigned%20char%20array%20c%2B%2B
[7]+  Done                    oq=length%20of%20unsigned%20char*%20arra

关于c++ - 通过命令行传递 URL(C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36354743/

相关文章:

c - OpenSSL导致丢包?奇怪的CPU使用率

mysql - linux env 上的 grails 部署中的 BeanCreationException

mysql - 需要 "build"一个 mysql 命令并在 shell 脚本中执行它

c++ - 在进行 RGBtoHSV 转换 OpenCv 后知道像素值

c++ - 如何使用 ""初始化 std::string ?

linux - 未找到 SSH Shell 命令(composer、npm)

laravel-5 - 如何在 laravel 项目中运行 FFMPEG

c# - 将命令与 TabItem 一起使用

c++ - openCV 2.4.8 iOS 7.0 框架链接器错误

c++ - 当 QObject 被销毁时,Qt 可以安排将 QObject* 设置为 nullptr 吗?