在C ++中传递命令行参数

时间:2012-02-26 19:34:14

标签: c++ python boost

我一直在努力学习如何使用C ++扩展Python 3,我建议使用Boost。我相信到目前为止我已经按照正确设置Boost :: Python的过程进行了操作,并且我从here获得了以下代码(保存为example.cpp),这些代码成功构建:

#include <boost/regex.hpp>
#include <iostream>
#include <string>

int main()
{
    std::string line;
    boost::regex pat( "^Subject: (Re: |Aw: )*(.*)" );

    while (std::cin)
    {
        std::getline(std::cin, line);
        boost::smatch matches;
        if (boost::regex_match(line, matches, pat))
            std::cout << matches[2] << std::endl;
    }
}

说明建议通过创建一个名为jayne.txt的文本文件并在其中保存数据,然后从命令提示符执行程序并将路径作为参数传递给文件来测试它。我完全不了解C ++,而且我一直遇到困难。

我尝试打开命令提示符,然后运行“path / to / example.cpp”&lt; “path / to / jayne.txt”和“path / to / example.cpp”“path / to / jayne.txt”,来自常规命令提示符和Visual Studio命令提示符。我应该在某处获得输出,但所有发生的事情是它在Visual Studio中打开程序,如果它尚未打开。

我正在使用Windows 7中的MVSC ++ 2010。

1 个答案:

答案 0 :(得分:3)

C ++是一种编译的语言 - 因此,为了运行程序,您需要运行编译版本(.exe)而不是源代码(.cpp )。

在命令行键入"path/to/example.cpp"时,它会打开源代码。通过构建代码找到实际的可执行文件(通常它位于MSVC的buildDebug文件夹中)并在命令行上运行它,<运算符应该正常工作。