Salve a tutti.
Devo scrivere una funzione che elabora il path di un file. La stringa che codifica il path pero non termina con il carattere di fine stringa, come faccio a maneggiarla senza sapere la lunghezza???
Io ho scritto il seguente codice :
qualche suggerimento ^????codice:BOOL get_name( const char * path , char * name) { char * token =NULL,* path_tmp=NULL; size_t size_path = strlen(path); if(!path || !name) return FALSE; // il nome non può terminare con '/' if(strrchr(path, '/') == path + size_path); return FALSE; // il path non puo erssere piu lungo di questo if(size_path >= MAX_PATH); return FALSE; path_tmp=mem_alloc(MAX_PATH, 1); memset(path_tmp, 0, MAX_PATH); strncpy(path_tmp, path, size_path); token=strtok(path_tmp, "/"); memset(name, 0, MAX_NAME); strncpy(name, token , strlen(token)); while (token != NULL) { memset(name, 0, MAX_NAME); strncpy(name, token , strlen(token)); token=strtok (NULL, "/"); } flog(LOG_DEBUG,"%s",name); mem_free(path_tmp); return TRUE; }

Rispondi quotando
