Was stimmt hier nicht?
-
#include <iostream> using namespace std; int main(int argc, char *argv[]) { char fname[] = "echo"; char args[2][10] = {"echo", "blubb"}; execv(fname, args); return 0; }ich würde gerne wissen was das für ne message ist bzw. wie ich die interpretieren kann:
test.cpp: In function 'int main(int, char**)': test.cpp:11: error: cannot convert 'char (*)[10]' to 'char* const*' for argument '2' to 'int execv(const char*, char* const*)
-
execv will kein zweidimensionales char-Array, sondern ein eindimensionales char-Zeiger-Array. Das ist nicht dasselbe. Ein Array ist kein Zeiger.
-
Schreib:
char *param[] = {"blubb", 0}; execv("echo", param);dann sollte es das tun.