bozoo Geschrieben 2. November 2001 Geschrieben 2. November 2001 Hi, wenn man seine main Funktion mit int main(int argc, char *argv[]) beginnt, kann man mehrere Parameter übergeben...Richtig. Eigentlich soviele man will.....Auch Richtig? Tja, bei mir scheint das irgendwie nicht zu klappen. Ich kann zwar mehrere Parameter (in meinem Fall Textdateien) übergeben, aber bei mehr als ca. 15 Stck. bekomme ich von Windoof "Der Zugriff aus das angegebene Gerät, den Pfad oder die Datei wurde verweigert" an den Kopf geschmissen. Was kann man da machen? Woran liegt das? Zitieren
gajUli Geschrieben 2. November 2001 Geschrieben 2. November 2001 <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von volkaman: <STRONG> Ich kann zwar mehrere Parameter (in meinem Fall Textdateien) übergeben, aber bei mehr als ca. 15 Stck. bekomme ich von Windoof "Der Zugriff aus das angegebene Gerät, den Pfad oder die Datei wurde verweigert" an den Kopf geschmissen. </STRONG> Zitieren
Crush Geschrieben 2. November 2001 Geschrieben 2. November 2001 ALso da kann wirklich etwas nicht stimmen, weil es sich um eine variable Parameterliste handelt, das bedeutet: Es können soviele Zeiger auf Strings geladen werden, wie Platz auf dem Stack ist, das heißt eine ganze Menge! Ich habe schon ein paar Kommandozeilen-Archiver mit wesentlich mehr als 15 Parametern gestartet und da gab´s überhaupt keine Probleme. <FONT COLOR="#a62a2a" SIZE="1">[ 04. November 2001 15:26: Beitrag 1 mal editiert, zuletzt von Crush ]</font> Zitieren
mst Geschrieben 4. November 2001 Geschrieben 4. November 2001 Vielleicht kann du hier mal die Kommandozeile posten. Evtl. liegt der Fehler bei den Parametern und gar nicht bei dem Programm selbst. Zitieren
gajUli Geschrieben 4. November 2001 Geschrieben 4. November 2001 <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Brush: <STRONG>ALso da kann wirklich etwas nicht stillen, weil es sich ul eine variable Paraleterliste handelt, das bedeutet: Es können soviele Zeiger auf Strings geladen werden, wie Platz auf del Stack ist, das heißt eine ganze Menge! Ich habe schon ein paar Kollandozeilen-Archiver lit wesentlich lehr als 15 Paraletern gestartet und da gab´s überhaupt keine Problele.</STRONG> Zitieren
Crush Geschrieben 4. November 2001 Geschrieben 4. November 2001 Es kann natürlich noch woanders das Problem liegen. Ich hab ja glatt vergessen, daß der Standard DOS-Eingabestring normal nur bei glaub 128 Bytes liegt. Bei Archivern reichen ja auch solche Argumente wie lha -x -v -b1 -i2 ... da kommt man schon schnell auf 15 Argumente aufwärts. Es könnte ja auch sein, daß der Aufruf in einer .bat-Datei ist und dort halt Überlänge hat. Der Texteditor beklagt sich ja nicht. Wird dann die .bat vom DOS gestartet, wird der String gecuttet und es fehlt was, sagen wir mal ein Dateiname wird gekürzt. Ergebnis davon wäre -> "Der Zugriff aus das angegebene Gerät, den Pfad oder die Datei wurde verweigert" Zuerst würde ich mal die Datei-Attribute abchecken und mal testweise die Datei irgendwohin kopieren um zu schauen ob nicht ein Dateifehler vorliegt. Ansonsten sollte man vielleicht ein Utilitiy benutzen, welches den DOS-Input-Stream vergrößert ( http://www.simtel.net/pub/msdos/keyboard/ oder http://www.nic.funet.fi/mirrors/simtel.net/msdos/keyboard-pre.html ). Es kann natürlich sein, daß im DOS-Mode irgendwie der lange Dateiname nicht erkannt wird, da könnte dann sowas wie LFNDOS helfen: http://dosware.nfo.sk/misc01.htm Vielleicht ist damit das Problem schon behoben... <FONT COLOR="#a62a2a" SIZE="1">[ 04. November 2001 16:53: Beitrag 1 mal editiert, zuletzt von Crush ]</font> Zitieren
bozoo Geschrieben 5. November 2001 Autor Geschrieben 5. November 2001 Tjaa, also ich ziehe einfach nur meine Textdateien per Drag&Drop auf meine .exe ... Die Textdateien sind teilweise mehr als 20kb gross... Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.