lchown beispiel
-
Hi, ich möchte gern ein lchown prog machen nur leider sind meine versuche fehlgeschlagen.
Ich habe hier und mit man gesucht, leider kam ich zu keinen ergebnissen.
Könntet ihr mir kleines prg schreiben wo man user und gruppe eintragen muss?
Hier mein prog:char pfad[300]; uid_t user; gid_t gruppe; printf("Geben SIe die Datei ein: "); scanf("%s", pfad); printf("Geben Sie user ein: "); scanf ("%s", user); printf("Geben Sie gruppe ein :"); scanf("%s", gruppe); lchown (pfad, user, gruppe);
Leider falsch.
Vielen dank
-
Was steht denn hinter uid_t und gid_t (typedef's oder ähnliches)? Egal was es ist, du mußt deine Eingabefunktion darauf anpassen - und fscanf("%s",x) erwartet einen char*, ist also vermutlich nicht das, was du brauchst.
-
verstehe nicht so was du meinst
-
Er will sagen uid_t ist eine Zahl (User-ID) und kein Text (Username).
Und ich sage das ist kein ANSI C
-
naja, für mich ist das C obs ANSI ist ist mir fast egal
Hier noch mal der code:char pfad[300]; uid_t user; gid_t gruppe; printf("Geben SIe die Datei ein: "); scanf("%s", pfad); printf("Geben Sie user ein: "); scanf ("%d", user); printf("Geben Sie gruppe ein :"); scanf("%d", gruppe); lchown (pfad, user, gruppe);
Ich hab jetzt auf d geändert, funktioniert aber nicht
Wieso?Und lchown wurde von SVR4 eingeführt, so neben bei. :xmas2:
-
Was genau meinst du mit "Funktioniert nicht"?
blättert durch die Manual Pages - man: lchown
Nach einigem Suchen bin ich schließlich auf "typedef u_int32_t uid_t;" in der <sys\types.h> gestoßen - uid_t ist ein 32-Bit unsigned integer.Also benötigst du so etwas:
scanf("%ud",&user);
(ganz wichtig: scanf benötigt immer die Adresse des Zielobjekts)
-
ich wusste nicht dass es unsigned ist, werde wohl das nächste mal in die headerdatei schauen müssen. Und ich hab gesagt dass ich ins man geschaut habe.
Und die "&" hab ich vergessen . Bei mir hab ich die ja .
Vielen dank jetzt gehts!!