PDA

View Full Version : [niubbissimo] l'equivalente del dir/ls in C


bist
24-07-2005, 23:02
Stavo cercando di riscrivere in C un programmino stupidissimo che ho fatto in java. Una delle cose che fa questo programma è rinominare i file di una data directory.

Ho cercato una qualche funzione del tipo
char** getFileList(char* directory)

ovvero che dato il percorso di una directory restituisca un vettore di stringhe che sarebbero i nomi dei files contenuti in quella directory. Inutile dire che non l'ho trovata dato che mi rivolgo a voi :D

In java avevo fatto una cosa del tipo:
String workingDirectoryName = "temp";
File workingDirectory = new File(workingDirectoryName);
String[] fileNamesList = workingDirectory.list();

Il programma vorrebbe essere per Windows.

Grazie!

Ziosilvio
25-07-2005, 00:12
Stavo cercando di riscrivere in C un programmino stupidissimo che ho fatto in java. Una delle cose che fa questo programma è rinominare i file di una data directory.
Allora la libreria standard non ti basta, e ti ci vogliono le API di sistema.
Ho cercato una qualche funzione del tipo
char** getFileList(char* directory)
ovvero che dato il percorso di una directory restituisca un vettore di stringhe che sarebbero i nomi dei files contenuti in quella directory. Inutile dire che non l'ho trovata dato che mi rivolgo a voi
Non l'hai trovata perché la libreria standard del C è fatta in modo da essere minimale e completamente portabile. mentre la scansione di una cartella non lo è (a priori, non è neanche detto che il filesystem sia gerarchico).

bist
25-07-2005, 00:24
Allora la libreria standard non ti basta, e ti ci vogliono le API di sistema.
Ho cercato anche nelle API Win32 (ftp://ftp.cs.virginia.edu/pub/lcc-win32/win32hlp.exe), ma non ho trovato nessuna funzione che abbia un nome riconducibile a ciò che voglio fare... mi sembra un po' assurdo!

cionci
25-07-2005, 00:57
FindFirstFile, FindNextFile, FindClose...