2013-11-14 141 views
0

標題說明了一切。我想編譯一個程序(用gplc說)。然後將一個輸入文件傳遞給它。程序將讀取文件,進行一些計算並將輸出寫入另一個文件。在C中,我會這樣做:從命令行輸入目標到Prolog

gcc -o prog prog.c 
./prog input.txt output.txt 

我可以在Prolog中執行相同的操作嗎?如果是這樣,我怎樣才能從命令行讀取輸入參數?

謝謝。

回答

1

這可能取決於你所使用的執行,但有一個叫current_prolog_flag/2內置(閱讀手冊),可以這樣調用來訪問傳遞給一個程序的命令行參數:

... 
current_prolog_flag(argv, Argv), 
... 

Argv將與表示命令行參數的原子列表一致。

告訴Prolog的運行哪個目標,再次徵詢執行手動您正在使用:

http://gprolog.univ-paris1.fr/manual/html_node/gprolog009.html#sec18

+1

請注意,'argv'不是一個標準的標誌,然而,有差異在Prolog系統之間關於這個標誌,特別是這個功能。有關詳細信息,請務必查閱您正在使用的Prolog系統的文檔。 –