String ausschneiden!?!?!? oder sowas ???
-
hi zusammen,
ich bin dabei ein kleines prog zu schreiben. welches überprüft ob gewisse prozesse laufen. ich bin noch nicht sehr weit ... (und schon probleme)
#include <string> #include <iostream> main() { system("cat server | grep 'set PROCS' | head -1"); return(0); }
ich lese aus einem server start skript eine zeile aus, die mir sagt welche processe laufen sollen
BILDSCHRIMAUSGABE:
linux temp2> ./check_procs
set PROCS = "srv1 hugo2 hugo4711 Server20"
linux temp2>wie bekomme ich die einträge die zwischen den " "
sind in ein array??(das ganze soll unter LINUX/UNIX funktionieren)Vielen Dank
Gruß
Navigato
-
mit system übergibst du einfach einen String an eine Shell, du liest nichts ein, dafür brauchst du pipes (man: pipe(2)).
Übrigens ist main() in C++ nicht erlaubt und iostream und string brauchst du auch nicht einbinden für man: system(3)
-
...oder besser noch: Nimm die Funktion popen(). Dann kannst du die Ausgabe des Shell-Kommandos direkt in dein Programm einlesen. Mit sscanf() kannst du dann die einzelnen Worte herausziehen.
(Genaueres dazu findest du übrigens in meinem Buch "C und Linux".
)
Martin
-
...oder du machst es mit nem shell-script
bei so kleinen Aufgaben wunderbar dafür geeignet...
-
Crax schrieb:
...oder du machst es mit nem shell-script
bei so kleinen Aufgaben wunderbar dafür geeignet...normalerweise würde ich dir auch da zustimmen aber wenn der ausbilder/chefe sagt mach in c/c++
...
ja dann haste wohle keine andere möglichkeit.aber ich habs jetzt endlich geschaft