以下代碼嘗試將字符串c的內容放入arg [0]。這個變量賦值有什麼不同?
const char **argv = new const char* [paramlist.size() + 2];
argv[0] = c.c_str();
這是另一種方法。
argv[0] = "someprogram"
我注意到後來在我的程序中,第二種方法可行,但第一種方法會導致錯誤。什麼可能有所不同?如何改變第一種方式以使其正常工作?
這是出現問題:
execvp(c.c_str(), (char **)argv);
如果我將其更改爲以下內容,然後不發生問題。這是爲什麼?
execvp(argv[0], (char **)argv);
你可以發佈包含'c'變量聲明的代碼嗎? – 2011-04-27 07:27:17
這只是字符串c。 – 2011-04-27 07:30:07
@z_buffer:我問,因爲*你在哪裏*就你的問題中的代碼聲明它實際上是非常重要的。你能否提供一個代碼片段,其中包括你現在問題中的內容,'string c;'聲明,以某種方式修改'c'的任何代碼,以及你如何訪問'argv'? – 2011-04-27 07:30:58