[英]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.