Przerobienie funkcji pod Linux
Ostatnio zmodyfikowano 2011-12-26 16:00
Terminator3 Temat założony przez niniejszego użytkownika |
Przerobienie funkcji pod Linux » 2011-12-25 23:10:33 otóż mam taka oto funkcję: std::string dest; bool DirRemove() { DIR * pdir = opendir( dest.c_str() ); if( !pdir ) return false; readdir( pdir ); readdir( pdir ); dirent * pent = readdir( pdir ); int len; while( pent ) { if( pent->d_type == DT_DIR ) { dest += pent->d_name; dest += '/'; if( !DirRemove() ) return false; } else { len = dest.length(); dest += pent->d_name; remove( dest.c_str() ); dest.erase( len ); } pent = readdir( pdir ); } closedir( pdir ); len =( !rmdir( dest.c_str() ) ); dest.erase( dest.rfind( '/', dest.length() - 2 ) + 1 ); return( len != 0 ); } do zmiennej dest przed wykonaniem funkcji przypisuję nazwę (ścieżkę) folderu który chcę usunąć (po wykonaniu tej funkcji używa dest.clear()), funkcja ma na celu usunięcie folderu wraz z plikami wewnątrz, problem w tym że wcale nie działa ona na linux'ie (Ubuntu), co muszę w niej zmienić by działała poprawnie ? |
|
hincu |
» 2011-12-25 23:17:19 uruchomic program przez root? O_O |
|
Terminator3 Temat założony przez niniejszego użytkownika |
» 2011-12-25 23:21:37 eee co? za kogo ty mnie masz? każda z tych funkcji (opendir, closedir, readdir, remove, rmdir) została przeze mnie przetestowana osobno i działa gdy sam podaję ścieżkę do pliku, a gdy używam tej funkcji jest jakiś błąd |
|
Gabes |
» 2011-12-26 06:17:08 eee co? za kogo ty mnie masz? |
-Za Terminatora. To kosmici też lecą na Linuksie ? Wesołych Świąt. |
|
Terminator3 Temat założony przez niniejszego użytkownika |
» 2011-12-26 16:00:28 To kosmici też lecą na Linuksie ? |
what? wzajemnie To jak, pomoże ktoś? próbowałem też inaczej: bool DirRemove( const char * patch ) { DIR * pdir = opendir( patch ); if( !pdir ) return false; readdir( pdir ); readdir( pdir ); dirent * pent = readdir( pdir ); while( pent ) { if( pent->d_type == DT_DIR ) { if( !DirRemove( pent->d_name ) ) return false; } else { remove( pent->d_name ); } pent = readdir( pdir ); } return( !rmdir( patch ) ); } ale to samo (powyższy kod działał bodajże w dev-cpp) |
|
« 1 » |