Archiv verlassen und diese Seite im Standarddesign anzeigen : system() paramter übergeben
Hallo, wie ist es möglich der System funktion noch parameter anzugeben?
weil bei system("tar xvfz lala.tar.gz");
gibt der gcc fehler aus,ich glaube function system(), too few actual parameters oder so ähnlich, wie kann ich das trotzdem machen?
danke
SeeksTheMoon
27-01-2003, 11:16
eigentlich sollte das so funktionieren, wie Du es geschrieben hast.
Welche Header hast Du eingebunden? stdlib.h?
in der manpage steht: int system(const char *string);
ja das funzt, aber das system("tar xvfz %s", eingabe);
das funktioniert wieder nicht, warum?
anda_skoa
27-01-2003, 11:35
Original geschrieben von avuton
ja das funzt, aber das system("tar xvfz %s", eingabe);
das funktioniert wieder nicht, warum?
Weil das zwei Parameter sind!
Und bitte nicht Crossposten, nur in einem Forum.
Ciao,
_
char buffer[MAXLEN];
snprintf(buffer, MAXLEN, "tar blabla %s", eingabe);
system(buffer);
was soll eignetlich der scheuiß mit den doppelpostings??
http://www.mrunix.de/forums/showthread.php?s=&threadid=31007
sowas kann ich gar nicht leiden!!
wie wärs wenn du außerdem mal dein ganzes programm herzeigst?
Das mit dem Doppelposting tut mir leid, ich kann das auch nicht leiden und ich habe nur vergessen, dass ich das schon mal gepostet habe, kann doch jedem mal passieren oder?
Mein ganzes Programm, ich denke, das ist in diesem Fall nicht nötig, es ist ein einfaches Programm, zum entpacken von gezippten Files, für Leute, die auf meiner Site was runterladen und nicht wissen, wie tar.gz files entpackt werden.
Na es sollte ungefähr so aussehen:
#include <stdio.h>
#include <stdlib.h>
main(){
char name[30];
printf("\nName der Datei: ");
gets(name);
system("tar xvfz %s", name); /*aber das klappt ja nicht*/
}
hallo Avuton!
Die Definition von System lautet
int system (const char * string)
System erwartet nur einen Zeiger auf eine konstante Zeichenkette, also musst Du den Dateinamen
vorher mit strncat an deine bestehende Zeichenkette anhängen und dann an System übergeben.
Dann klappts auch mit dem Nachbarn.
GreetZ
ReSeT
ja, ok super danke, das hat geklappt.
greets avuton
anda_skoa
28-01-2003, 11:43
Original geschrieben von avuton
ja, ok super danke, das hat geklappt.
greets avuton
Brotzi hatte auch schon eine Lösung gepostet, die praktisch deinen Ansatz verwirklicht hat.
Und besser du verwendest fgets, siehe die Warnung in der manpage von gets.
Ciao,
_
ja, ich hab das jetzt mit fgets gemacht, war vielleicht besser....
danke nochmal
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.