Archiv verlassen und diese Seite im Standarddesign anzeigen : Linuxbefehle aus einem C Programm absetzen
Hi,
Weiß vielleicht jemand, wie ich einen Linuxbefehl wie zB: "ls -l", oder "mount" ... aus einem C Programm aufrufen kann??
Danke, pir
derguteweka
16.11.04, 10:54
Moin,
-> mrunix.de
Oder z.b. mit dem system Kommando, also zb. so:
retval=system("ls -l");
Gruss
WK
Funktionen, die für dich in Frage kommen:
popen(), fork(), system()
Danke für die flotten Antwoten,
Pir
Meine ersten "C-Programme" sehen auch eher aus wie compilierte Shell-Skripte. Ist wohl nicht ganz im Sinne des Erfinders.
Meine ersten "C-Programme" sehen auch eher aus wie compilierte Shell-Skripte. Ist wohl nicht ganz im Sinne des Erfinders.
Aber lernen kann man dadurch ziemlich viel.
Aber lernen kann man dadurch ziemlich viel.
Finde ich nicht. Shell-Skripte und Shell-Befehle konnte ich (offenbar) schon vorher. :)
Ich denke, zum C lernen gehört auch C (Bibliotheken) benutzen.
Aber lernen kann man dadurch ziemlich viel.
Und was?
mfg
Naja,
man lernt die grundlegenden Programmiereigenschaften. Und wenn man das kann, fragt man sich, wofür C und danach geht es richtig los. Aber für den Anfang finde ich das gut.
Naja,
man lernt die grundlegenden Programmiereigenschaften. Und wenn man das kann, fragt man sich, wofür C und danach geht es richtig los. Aber für den Anfang finde ich das gut.
Hm joar stimmt schon.
Aber wieso nicht gleich richtig C programmieren?
mfg
Aber wieso nicht gleich richtig C programmieren?
Weil der Einstieg ziemlich heftig ist.
Für das, was ich früher mit einem 'ls -l' und vieleicht awk und grep gemacht habe, muss ich jetzt erstmal ewig die passende C-Funktion suchen und einbinden. Schon ein ganzes Stück Arbeit.
Weil der Einstieg ziemlich heftig ist.
Für das, was ich früher mit einem 'ls -l' und vieleicht awk und grep gemacht habe, muss ich jetzt erstmal ewig die passende C-Funktion suchen und einbinden. Schon ein ganzes Stück Arbeit.
Naja. imho ist c sowieso nicht die nonplus-ultra sprache wenn es nicht grade um low-level geht.
Solche funktionen erreichst du mit c++, Java und konsorten schneller.
Auch dort muß ich mich erst durch die Dokumentation der betreffenden Bibliotheken kämpfen.
Auch dort muß ich mich erst durch die Dokumentation der betreffenden Bibliotheken kämpfen.
musst du so oder so.
Ich hab zum bleistift relativ wenig ahnung von gawk und müsste mich auch erst einlesen.
ERGO => ohne lesen geht garnix
Hi!
Für das, was ich früher mit einem 'ls -l' und vieleicht awk und grep gemacht habe, muss ich jetzt erstmal ewig die passende C-Funktion suchen und einbinden. Schon ein ganzes Stück Arbeit.
Für sowas würde ich doch eher mit Perl als mit C anfangen. :)
Gruß
fuffy
Ok, die Situation ist so. C ist bei mir kein Problem und Shell scripting geht (so lala), ich bin aber nie auf die Idee gekommen, dass man direkt den C Code der Shell-Befehle "misbrauchen" kann. Gibt es da vielleicht ein Bsp. dass ich mir irgendwo anschauen könnte um eine Idee zu bekommen wie einfach :D das ist?
Pir
was willst du zum blei mit "ls" erreichen ? es gibt auch c api fuer das lesen von verzeichnissen, die daten must dann halt selber ausgeben.
siehe www.pronix.de
jebe
Ich will Modul laden/entfernen, HD un/mounten, File auf der HD erstellen (Schreibtest). Dies soll alles automatisch ablaufen. Ich habe ein Bash-Script, das dies auch macht, aber möchte auf jeden Fall, wenn möglich, das gleiche in C erreichen.
Pir
Hi!
File auf der HD erstellen (Schreibtest)
Dafür würde ich einfach fopen (http://www.opengroup.org/onlinepubs/007908799/xsh/fopen.html) verwenden. ;)
Gruß
fuffy
aber möchte auf jeden Fall, wenn möglich, das gleiche in C erreichen.
Dein code hat dann aber wenig mit C zu tun.
mfg
derguteweka
18.11.04, 20:40
Moin,
Ich will Modul laden/entfernen, HD un/mounten, File auf der HD erstellen (Schreibtest). Dies soll alles automatisch ablaufen. Ich habe ein Bash-Script, das dies auch macht, aber möchte auf jeden Fall, wenn möglich, das gleiche in C erreichen.
Pir
Also ich will Naegel in ein Brett einschlagen und dann will ich ein Stueckchen Blech gerade klopfen. Das hab' ich auch schon mal mit nem Hammer getan, was auch funktioniert hat, aber jetzt will ich 's auf jeden Fall mit ner Beisszange wenn moeglich probieren....
Wieso um Himmels willen, willst du so n Zeugs unbedingt in C machen? Schreib' doch lieber ein Programm, dass "Hello World" in der Konsole ausgibt ;)
Gruss
WK
aber so kann man gut mit fork(); üben :-D
Tja, wenn man nämlich selber mal versucht hat, den Nagel mit einer Beisszange einzuschlagen, fallen einem oft neue Produkte ein, die man dann zB als Beisszangenhammer bezeichnen kann. Diese sind dann universal einsetzbar, oder stellen sich als Schrot heraus. Man ist aber um eine Erfahrung reicher und darum geht es ja. :cool:
Außerdem gibt es schon genug "Hello World" Programme auf der Welt
Gruß Pir
derguteweka
24.11.04, 11:02
Moin,
Ich seh', du weisst was du tust - denn viel Erfolg beim Beisszangenhaemmern :D
Gruss
WK
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.