2012-02-26 198 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