NA01
21-05-2004, 17:45
vi pongo questo problema che mi sembra alquanto strano.....
devo contare i file .jpg contenuti in una cartella.
probabilente esistono metodi migliori, ma mi sono inventato questo:
unsigned int nfoto(){
char buffer[100];
ifstream in("temp");
unsigned int num_foto = 0;
system("ls Foto/ --color=no > temp");
while(!in.eof()){
in.getline(buffer,100,'\n');
num_foto++;
}
num_foto--;
in.close();
return num_foto;
}
così funziona perfettamente, ma appena provo a compilare questo
unsigned int nfoto(){
char buffer[100];
ifstream in("temp");
unsigned int num_foto = 0;
system("ls Foto/*.jpg --color=no > temp");
while(!in.eof()){
in.getline(buffer,100,'\n');
num_foto++;
}
num_foto--;
in.close();
return num_foto;
}
il programma si impalla e continua un ciclo infinito di lettura :eek:
genera il file correttamente, ma non esce più dal ciclo :wtf:
perchè mai una cosa del genere??????
faccio notare che ho aggiunto solo *.jpg al comando ls (e il file si genera correttamente)
ciao
devo contare i file .jpg contenuti in una cartella.
probabilente esistono metodi migliori, ma mi sono inventato questo:
unsigned int nfoto(){
char buffer[100];
ifstream in("temp");
unsigned int num_foto = 0;
system("ls Foto/ --color=no > temp");
while(!in.eof()){
in.getline(buffer,100,'\n');
num_foto++;
}
num_foto--;
in.close();
return num_foto;
}
così funziona perfettamente, ma appena provo a compilare questo
unsigned int nfoto(){
char buffer[100];
ifstream in("temp");
unsigned int num_foto = 0;
system("ls Foto/*.jpg --color=no > temp");
while(!in.eof()){
in.getline(buffer,100,'\n');
num_foto++;
}
num_foto--;
in.close();
return num_foto;
}
il programma si impalla e continua un ciclo infinito di lettura :eek:
genera il file correttamente, ma non esce più dal ciclo :wtf:
perchè mai una cosa del genere??????
faccio notare che ho aggiunto solo *.jpg al comando ls (e il file si genera correttamente)
ciao