我在理解system()命令在Ubuntu上的運行方式時遇到了一些問題。通過Ubuntu上的C++系統()將輸出與SIPp遠程命令混淆
我正在創建一個C++程序來遠程控制SIPp客戶端(SIPp remotely controlling clients),並且已經完成了該程序,但是現在我正在測試它時遇到了一個問題。
我已經在我的centOS虛擬機上測試過了,它運行的很好,但現在我在Ubuntu VM上測試它,甚至無法執行這些命令。
在Ubuntu的終端上,我可以運行echo + >/dev/udp/127.0.0.1/8888
,並且SIPp客戶端會接受該命令,但是當我運行我的程序(同樣的事情)時,我得到一個sh: 1: cannot create /dev/udp/127.0.0.1/8888: Directory nonexistent
。
#include <stdlib.h>
int main(){
system("echo + >/dev/udp/127.0.0.1/8888");
return 0;//
}
上面的代碼工作完全正常在CentOS和西普客戶臨危並執行任務,但在Ubuntu上它給我的目錄不存在的錯誤。
從我所看到的,它目前正試圖讀取>當我試圖輸出一個文件,但用\>轉義>只會產生一個編譯器錯誤。
warning: unknown escape sequence: '\>' [enabled by default]
system("echo + \>");
^
如果任何人都可以指出我正確的方向,我會成爲一個快樂的露營者。