Autore: Fabio Di Matteo
Ultima revisione: 09/07/2008
Capita spesso di avere il percorso completo di un file e volere individuare solo il nome della directory che contiene il file.
Niente di più semplice , ecco la funzione:
#include <stdio.h> #include <string.h> #define DELIMITER '/' char* getdir(char* path){ int i,pos_del=0; char* s = malloc(sizeof(path)); for (i=0; i<=strlen(path); i++) if (path[i]==DELIMITER) pos_del=i; strncpy(s, path, pos_del+1); return s; }
La funzione prende come argomento una stringa contenente il percorso completo e restituisce una stringa stringa che contiene il solo nome della directory.
Vogliamo sapere in quale directory risiede il file eseguibile del nostro processo. Quindi la funzione verra utilizzata in questo modo :
... int main(int argc, char *argv[]){ printf("%s\n", getdir(argv[0])); return 0; }
Il nostro wiki installa solamente cookie tecnici necessari al funzionamento della piattaforma "Dokuwiki". Niente analitics, statistiche, tracciamenti o altro.