Kommandozeilenparameter argv als vector
-
Erste Frage warum bekomme ich als Ausgabe "1" oO
Da müsste eigentlich ein Dateiname stehen oder 0 meines Erachtens.So geht es ja auch . int main(int argc,char *argv[] )
#include <iostream> #include <vector> #include <string> using namespace std; int main(int argc,vector <char> *argv() ) { // vector <char> argv() cout << argv[0]; return 0; }
-
argv ist nunmal ein char** und kein vector
-
Mich wundert dass das überhaupt kompiliert, lol. Probier mal
#include <iostream> #include <string> #include <vector> int main(int argc, char** argv) { std::vector<std::string> args(argv, argv + argc); for (auto& arg : args) std::cout << arg << '\n'; }
-
cooky451 schrieb:
Mich wundert dass das überhaupt kompiliert, lol.
MSVC verträgt auch (als ich es das letzte mal getestet hatte)
std::map<std::string,std::vector<double> > main(){ return std::map<std::string,std::vector<double> >(); }