Das ist im Wesentlichen, weil Sie versuchen, ein char[]
Array Literal zu einem char*
Typ hinzufügen: der Compiler wird das nicht mögen, da die Typen nicht übereinstimmen.
Schreiben (std::string("c:\\adb install ") + argv[1]).c_str()
zum Verketten Ihrer Zeichenfolgen wird es beheben. Dies beruht auf Operator überladen von +
zu std::string
, und c_str()
extrahiert den Zeichenpuffer. Also, in voller Länge:
FILE* lsofFile_p = popen((std::string("c:\\adb install ") + argv[1]).c_str(), "r");
Sie den Wert argc
überprüfen obwohl vor dem Elemente der argv
lesen.
Welchen Fehler im Gebäude bekommen Sie? Auf welche Bibliotheken verweisen Sie - was beinhaltet? –
Dies ist C-Code. Warum das C++ - Tag? In C++ haben Sie bessere Möglichkeiten als mit 'FILE *' 's ... –
ja in der Build nicht aus Bibliotheken meine Bibliotheken # include #include #include #include –