Mülleimer unter Linux - Problem mit dem Homedirectory



  • Hallo Forum,

    ich will mir mal einen kleinen Mülleimer unter Linux schreiben, habe aber ein Problem:
    Der Pfad des Papierkorms ist ~/trash
    Ich bekomme es nicht hin, dass ein neuer Link dort erstellt wird...
    Weiß vielleicht jemand Rat?

    #include <stdlib.h>
    #include <unistd.h>
    
    int main(int argc, char *argv[]) {
    
    	char dest[50] = ("$HOME/trash/");
    
    	if (argc != 2) printf("Fehler! Bitte eine Datei angeben.\n");
    	else {
    		printf("Erstelle neuen Link unter %s\n", strcat(dest, argv[1]));
    		link (argv[1], strcat(dest, argv[1]));
    
    		printf("Loesche Datei '%s'.\n", argv[1]);
    		unlink(argv[1]);
    	}
    	return 0;
    }
    

    Danke schon mal,

    Pollux



  • char dest[50] = ("$HOME/trash/");

    $HOME wird hier auch nicht ersetzt. Das musst du dir mit getenv("HOME") holen.

    btw. mit den Klammern kompiliert das? Naja, sind jedenfalls unnötig.



  • Aaahja, jetzt klappts...

    btw. - Die Klammern waren wirklich für die Hasen...
    Kein Ahnung wie die da hin kamen 😉

    Thnx,

    Pollux


Anmelden zum Antworten