|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
|
Ciclo infinito????
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: Codice:
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;
}
Codice:
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;
}
genera il file correttamente, ma non esce più dal ciclo perchè mai una cosa del genere?????? faccio notare che ho aggiunto solo *.jpg al comando ls (e il file si genera correttamente) ciao |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
|
ovviamente se conoscete un modo per contare i file senza tutto questo casino forse è meglio
cmq sono curioso del motivo percui c'è questa discrepanza nell'esecuzione di due listati praticamente identici ciao |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: May 2004
Messaggi: 75
|
Non ho la più pallida idea di quale sia il linguaggio che usi, però puoi provare a fare una cosa di questo tipo:
unsigned int nfoto(){ char buffer[100]; ifstream in("temp"); unsigned int num_foto = 0; system("ls Foto/ --color=no > temp"); while(!in.eof()){ if (estensionedelfile="jpg") { in.getline(buffer,100,'\n'); num_foto++; } } num_foto--; in.close(); return num_foto; } in questo modo la sintassi è simile a quella del programma che ti funziona (quindi niente ciclo infinito) e i file jpg li vai a selezionare dopo. Ciao, McK |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
|
Codice:
if (estensionedelfile="jpg") {
ciao |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Perchè non provi ad eseguire la system prima di aprire lo stream ?
ifstream in("temp"); |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
|
ovviamente non ne sbagli una
la mia sequenza effettivamente era priva di logica, ma che diavolo cambia tra i due listati??? mi incuriosice questa cosa grazie mille ciao |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Niente
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:24.



















