簡體   English   中英

如何在C ++ execve命令中將字符串轉換為char [] *?

[英]How do you convert a string to a char[]* in C++ execve command?

嘗試使用execve命令時,我收到有關最后兩個參數的錯誤。

     #include <unistd.h>        
     const char * c = enviorment.c_str();
     execve(full.c_str() , cl.getArgVector(), c);

我嘗試在復制字符串時使用幾個不同的選項,例如:

char *temp2 = new char[(path).size()+1];
strcpy ( temp2, cl.getCommand());
    execve(full.c_str() , cl.getArgVector(), temp);

但我無法使其正常工作並收到錯誤消息:

錯誤:無法將參數3的char *轉換為char * const *到int execve(const char *,char * const *,char * const *)

環境變量數組是一個字符串數組(char *),而不是一個字符串。 它需要一個NULL值作為數組中的最后一個元素。

模仿用於實現c1.getArgVector()的代碼,確保數組中的最后一個char *為NULL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM