0

我是 C++ 新手,我正在尝试从仅包含一个字符串的文本文件中读取一个字符串,并将其用作 system() 调用的输入。这是我所拥有的:

#include <iostream>
#include <string>
#include <fstream>

int main(int argc, const char * argv[])
{
    std::string curlString = "/usr/bin/curl -O ";
    std::ifstream file("/Users/test/Desktop/test.txt");
    if (file) {
    std::string line;
    while (std::getline( file, line ));
    system(curlString + line);
    }
 }

这可能是一团糟,非常感谢您的帮助,我真的很感激。

提前感谢您的任何见解!

4

2 回答 2

1

我不确定问题到底是什么。是从文件中读取吗?在stackoverflow中有很多例子如何做到这一点。你为什么不做类似的事情:

std::string curlString = "/usr/bin/curl -O ";
std::string urlString= /* function that reads one line of code and does some verifcation if it is a URL */
system(curlString + urlString);
于 2012-09-24T04:24:09.340 回答
0

这似乎是一种非常迂回的方式来实现你的结果。

有一些更简单的方法可以实现这一点:

  • 您可以通过在那里提示用户来完全用 C++ 构建字符串
  • 您可以将字符串从 Bash 传递到 C++,方法是将其作为命令行参数发送到argv
  • 你可以curl打电话bash

除非您特别需要创建文件,否则此处的文件似乎有点过头了。

于 2012-09-24T04:22:51.333 回答