|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
[c++] file o cartella??
c'è una funzione per scoprire se una stringa è l'indirizzo di un file o di una cartella??
io ho provato con dati_file.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY ma mi salta alcune cartelle... ps: in php mi basterebbe un semplice is_file(string); |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
ho pensato di risolvere così... cosa ne pensate?? basta un ( ("va bene") o (un "non va bene" e il perchè) )
int isfile(char *string) { FILE *st = fopen(string,"rb"); if (st != NULL) return 1; return 0; } |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
dati_file.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 2722
|
Hai provato con GetFileAttributes()?
http://msdn.microsoft.com/library/de...attributes.asp EDIT: questo se vuoi fare if (GetFileAttributes(filename) & FILE_ATTRIBUTE_DIRECTORY) altrimenti fai come ha detto ilsensine. EDIT 2 corretto == con &
__________________
- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale. - A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson Ultima modifica di -fidel- : 18-10-2006 alle 17:36. |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
Quote:
|
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 2722
|
Quote:
__________________
- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale. - A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson |
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Ad es. per una directory in sola lettura e nascosta avrai che dwFileAttributes == (FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN) Per testare i field singolarmente, devi quindi fare un "and" tra dwFileAttributes e il field che ti interessa.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
perfetto... capito
provato e mi funziona... grazie! |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Codice:
#include <sys/types.h>
#include <sys/stat.h>
int is_file (char *pathname)
{
struct stat st;
if (stat (pathname, &st) != 0)
return 0;
return st.st_mode & _S_IFREG ? 1 : 0;
}
int is_dir (char *pathname)
{
struct stat st;
if (stat (pathname, &st) != 0)
return 0;
return st.st_mode & _S_IFDIR ? 1 : 0;
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:28.



















