所以我想要做的是通過 Execv 發送一個簡單的 ping 命令并在終端上列印。
我的原始問題有一組未知引數的字串。a[n][50] 將根據用戶輸入在整個流程執行程序中填充。我無法使用“execv”,我一直收到“不兼容的指標型別”。為了說明問題,我只做了一個簡單的“ping”“google.com”
int main(int argc, char const *argv[])
{
//That's what I have...
char a[3][50];
strcpy(a[0], "ping");
strcpy(a[1], "google.com");
//First try
a[2] = NULL;
execv(a[0], a);
//Second time, trying to fix, also didnt work
char *pointer[3];
pointer[0] = a[0];
pointer[1] = a[1];
pointer[2] = NULL;
execv(pointer[0], pointer);
return 0;
}
是否有任何解決方法而不必更改 a[n][50] 格式來保存字串?
uj5u.com熱心網友回復:
第二個版本可以作業,但您需要使用execvp()而不是execv,因為第一個引數不是程式的完整路徑ping。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/317386.html
