[問題] execvp的參數
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
最近在使用execvp的時候發現一個問題,
如果我直接預設好char *arglist[3];
然後把字串丟進去 arg_list[0]= "ls";
arg_list[1]= "-l";
arg_list[2]= NULL;
之後使用execvp("ls",arg_list);這樣會是正確執行,
不過如果我設一個char *buf2[3];
然後資料是從char temp[10];取得,
也就如底下的方式:
temp[0] = 'l';
temp[1] = 's';
buf2[0] = temp;
temp[0] = '-';
temp[1] = 'l';
buf2[1] = temp;
buf2[2] = NULL;
再執行execvp("ls",buf2);卻會失敗,
得到cannot access : No such file or directory的問題,
可是我將arg_list跟buf2印出來,裡面的內容都是一模一樣的阿,
清問是哪裡出了問題呢?
卡在這邊卡了好久,希望各位高手可以指點一下,感謝大家!
希望得到的正確結果:
程式跑出來的錯誤結果:
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
g++
有問題的code: (請善用置底文標色功能)
補充說明:
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.210.88
推
10/13 12:58, , 1F
10/13 12:58, 1F