我試圖在我的Visual C++程序中運行ping
。無法在Visual C++系統調用的路徑中找到可執行文件
在命令行,鍵入where ping
返回C:\Windows\System32\PING.exe
。此外,當我從命令行發出ping
時,它可以從任何目錄中運行。在我看來,這是在我的道路上。
然而,當我嘗試運行下面的C++程序,我得到一個錯誤。
#include <process.h>
#include <iostream>
int main()
{
int pingretval = system("ping stackoverflow.com > /dev/null");
std::cout << "Ping returns " << pingretval << std::endl;
return 0;
}
控制檯輸出:
The system cannot find the path specified.
Ping returns 1
我怎樣才能讓system()
拿起正確的可執行文件?
編輯:我在system
參數改變ping
到C:\\Windows\\System32\\PING.exe
,但它仍然給出了同樣的錯誤。
編輯2:我是不是完全真實的,SO;我真誠的道歉。在我的系統調用中,我重定向到了Linux風格/dev/null
。刪除該位後,我忘記了重新編譯,而Windows文件系統中的/dev/null
的缺失是導致「無法找到指定路徑」錯誤的原因。通過刪除> /dev/null
,這工作得很好。
也許你的'PATH'環境變量設置不正確。用'path'替換'ping'來看看它是什麼。 –
如果您輸入「cmd/C ping stackoverflow.com」,會發生什麼情況? – manlio
@CareyGregory:'system(「path」)'顯示'C:\ Windows \ system32'確實在路徑中。 @manlio:這並沒有改變輸出。 –