Hei, kysyisin miten pystyn tarkistamaan kun luen kansion sisältöä ja haluan vain tarkistella tiedostoja, eli kansioita ei huomioitaisi, olen kirjoittanut tämmöisen ohjelman ja muuten se toimii, mutta jos joku idiootti menee laittaa kansion nimeksi xxxxx.tar, niin se lukee senki sisään:
//Kayttaa opendir, closedir ja readdir kansion
//avaamiseen virrasta. Lukee ja tallentaa tiedoston nimet
int read_directory(char *directory_name)
{
DIR *dip;
struct dirent *dit;
struct stat statbuf;
int i = 0;
number_of_soft = 0;
// Katsotaan onko kansion nimi annettu
if (*directory_name < 2)
{
printf("%s \n", directory_name);
fflush(stdout);
return 0;
}
// DIR *opendir(const char *name)
//Avataan kansio
if ((dip = opendir(directory_name)) == NULL)
{
printf("Directory stream ei aukea");
fflush(stdout);
return 0;
}
printf("Directory stream is nyt auki\n");
//struct dirent *readdir(DIR *dir)
//Luetaan kansion tiedostot ja tallennetaan jos tiedosto
while ((dit = readdir(dip)) != NULL)
{
int length=0;
// stat(dit->d_name, &statbuf);
length=strlen(dit->d_name);
//hyvaksytaan vain .tar tai .d nimiset tiedostot
if((strncmp(&(dit->d_name[length-4]), ".tar", 4))==0)
{
printf("\nTiedosto loytyi: %s ", dit->d_name); //debug
fflush(stdout);
swprintf((wchar_t*)nodes[i 2].str,30,L"%s",dit->d_name);
strcpy(nodes[i].tiedostot,dit->d_name);
i ;
}
}
number_of_soft = i;
//int closedir(DIR *dir);
//Suljetaan virta ja katsotaan onko erroria
if (closedir(dip) == -1)
{
perror("closedir");
fflush(stdout);
return 0;
}
printf("\nDirectory stream on suljettu\n");
fflush(stdout);
return 1;
}
Miten tarkistus file vai directory?
ohjelmoijaaaa
1
385
Vastaukset
- man fstat
man 2 stat, katso makro S_ISREG.
Hakemiston lisäksi se saattaa olla character device, block device, fifo tai socket. Kannattaa myös miettiä, mitä haluat linkeille tehtävän...
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225164- 254348
- 272461
- 342254
- 371998
- 151918
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191597- 121521
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons211247Kerranki asiat oikein
Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa101174