Popis file-ova u direktoriju (Linux)

poruka: 5
|
čitano: 1.261
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
neaktivan
offline
Popis file-ova u direktoriju (Linux)
pitanje

Dobar dan! Da li bih netko mogao napisati kod u C++-u koji bih dakle ispisao u string obliku popis file-ova u zadanom direktoriju (hardcoded, konkretno /dev/shm/chat/mapcfgs/ )? Naime gledao sam na netku slicne stvari no jos nisam na toj razini te moze i rjesenje koje bi radilo na svim OS-ovima tj. uz boost! Ne, nije za zadacu/fax/poslovne svrhe!

Poruka je uređivana zadnji put pon 4.5.2009 16:34 (kajmak).
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
RE: Popis file-ova u direktoriju (Linux)

Znači, ukoliko želite u linuxu izlistati fajlove, koristite "školjčinu" (shell) naredbu ls. Tako, da izlistate fajlove u tom direktororiju napišete jednostavno

ls /dev/shm/chat/mapcfgs/ -1

Ovaj -1 na kraju označava da želite da izlista svaki fajl u novi red. Ako želite da ispiše i skrivene fajlove (to su linuxu oni koji počinju sa '.') napišete

ls /dev/shm/chat/mapcfgs/ -a1

Nadam se da pomaže... Ostatak funkcionalnosti ls-a možete vidjeti na stranici iz linka. Naravno, mogu se koristiti i operatori za preusmjeravanje toka ('>', '|' i '>>') pa se output može spremiti u fajl.

PS Ako želite to izvesti iz C++, koristite naredbu system(...) te spremite output u file iz kojega onda pročitate ono što je bitno. 

Sa štovanjem, brahle!
16 godina
neaktivan
offline
Popis file-ova u direktoriju (Linux)
autorov komentar

OOOPS, pa mislio sam u C++-u kod, uredio sam prvi post. Za ls znam i sluzim se njime u console modu :>

Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
RE: Popis file-ova u direktoriju (Linux)

OK, onda treba ovako nesto:

 

vector< string > read_dir( void ) {

 system( "ls -1 /dev/shm/chat/mapcfgs >.temp.ls.123100");

 FILE *fin = fopen( ".temp.ls.123100", "r" );

 char buff[1024];

 vector< string > ret;

 while( fgets( buff, sizeof( buff ), fin ) == 1 )

 ret.push_back( buff );

 fclose( fin );

 return ret;

}

 

Sa štovanjem, brahle!
16 godina
neaktivan
offline
Popis file-ova u direktoriju (Linux)
autorov komentar

Budem probao malo kasnije, trenutno imam dosta posla no dosao sam vidjeti tijekom predaha! Hvala unaprijed na pomoci.

Moj PC  
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice