000
16.07.2007, 17:50 Uhr
flappinski
|
Hallo liebe Leute. Mein Programm ist ein Kommandozeilen-Programm. Damit auch Laienuser das mit MSYS transportierte Windows-Äquivalent benutzen können, würde ich gerne die Argumente bei argc==1 einfach aus einer Extradatei auslesen. Damit wäre das Programm dann auch mit Doppelklick startbar. Ich will die Optionen aus dem Argument-File unbedingt in argc und argv einlesen, da diese danach von getopt umformatiert werden. Nun quäle ich mich mit den C-Style-Strings etwas rum, vielleicht könnt Ihr mir helfen:
C++: |
// if no arguments if (argc==1){
// open Argument-File std::ifstream arg_in; // In_Stream of Argument-File std::string arg_file = "argument_file.txt"; arg_in.open(arg_file.c_str()); // open Arg_stream
std::string arg_temp; while (1){ arg_in >> arg_temp; if (arg_in.eof()) break; argc++; strcpy(argv[argc],arg_temp.c_str()); // std::cout << arg_temp << std::endl; } arg_in.close();
}
for (int i=0; i < argc; ++i){ std::cerr << argv[i] << std::endl; }
|
Ich denke, mein Problem liegt in der Zeile mit strcpy. Jedenfalls kommt nicht das gewünscht Ergebnis.
Vielen Dank schon mal, Stephan |