c++ - 使用ideone时如何传入命令行参数?

标签 c++ python command-line

我正在使用 ideone 在线解释器 (http://ideone.com/) 来测试一些 C++ 和 Python 程序。如何指定命令行参数而不是使用 STDIN 输入?

最佳答案

看起来你不能,但是快速破解应该可以解决问题:

static char * const ARGV[] = { "myprog", "hello", "world", NULL };

int main(int argc, char * argv[])
{
    argc = 3;
    argv = ARGV;

    // ...
}

或者将标准输入转换成args:

#include <vector>
#include <string>
#include <iterator>
#include <iostream>

std::vector<char *> fabricate(std::vector<std::string> & v)
{
    std::vector<char *> res(v.size() + 1, NULL);
    for (std::size_t i = 0; i != v.size(); ++i) { res[i] = &v[i][0]; }
    return res;
}

std::vector<std::string> args_vector((std::istream_iterator<std::string>(std::cin)), std::istream_iterator<std::string>());

std::vector<char *> argv_vector = fabricate(args_vector);


int main(int argc, char * argv[])
{
    argc = args_vector.size();
    argv = argv_vector.data();

    // ...
}

关于c++ - 使用ideone时如何传入命令行参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12258317/

相关文章:

linux - 如何从命令行计算程序或脚本的执行时间?

c++ - 哪个 C++ 编译器最符合最新的 C++ 标准

c++ - 在 C++ 中对二维数组进行快速简单的矩阵运算

c++ - 如何让 C++ 编译器间接推导 T?

打破字典的pythonic方法哪个值是几个字典的列表

python - gensim 为 tf-idf 模型创建字典时是否使用词干提取?

python - 如何对第二列定义的固定间隔内一列的元素求和?

c++ - 析构和删除

macos - Git 停止提示输入密码

python - 如何使用 -c 选项执行多行 python