2012-02-26 167 views
0

我一直在试图学习如何用C++扩展Python 3,并且我被推荐使用Boost。我相信我已经遵循的Python设立的boost ::程序正确,到目前为止,我已经从here(保存为example.cpp)下面的代码,成功地构建:在C++中传递命令行参数

#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”<“path/to/jayne.txt”和“path/to/example.cpp”“path/to/jayne .txt“,都来自常规命令提示符和Visual Studio命令提示符。我应该在某处获得输出,但是所发生的只是它在Visual Studio中打开该程序,如果它尚未打开。

我与MVSC工作++ 2010在Windows 7

+2

看看Cython在我看来已经有了更好的整合 – fabrizioM 2012-02-26 19:36:01

+0

感谢您的建议,花了我好几天的时间才到了我现在用Boost的阶段,恐怕我真的无法承受重新开始由于这个项目的时间限制,还有别的东西。 – Tagc 2012-02-26 19:42:57

回答

3

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

当你在命令行中键入"path/to/example.cpp",它是开放的源代码。寻找从建立你的代码(通常它位于在MSVC一个buildDebug文件夹)实际可执行文件,并运行在命令行上和<运营商应该能正常运行。

+0

谢谢你,太棒了! – Tagc 2012-02-26 19:51:22

+0

另外,为Fluttershy的brohoof。最好的小马。 – Tagc 2012-02-26 19:51:36