2013-10-29 41 views
3

   我在c中有一個cgi程序,我正在使用系統調用獲取當前工作目錄(pwd)。我使用了
system(pwd);
,但是這會在屏幕上打印目錄名(html),而目前我並不需要它。

有什麼辦法讓system()函數不顯示任何東西,? (類似於PHP中的shell_exec(),其中輸出僅在我們需要顯示時才顯示)。如何使C中的system()命令不在屏幕上顯示任何內容?

+1

現在還不清楚你想要什麼。如果你想沉默命令,你可以將命令輸出重定向到「/ dev/null」。就你而言,爲什麼不簡單地將該行註釋掉? –

+2

也許'system(「pwd>/dev/null 2> &1");'? – devnull

+0

要從C rpgoram獲得當前工作目錄,您可能想使用'getcwd()'。 – alk

回答

0

看起來你是在Linux/Unix系統上。

您可以從環境中獲得PWD,你不需要使用system

#include <stdlib.h> 

char *pwd = getenv("PWD");

供您參考,這裏是你如何能得到輸出一個例子system(還有其他方法):

Getting output of a system command from stdout in C

相關問題