PDA

Visualizza la versione completa : [C++] Attendere disponibilitÓ di un file per procedere con l'elaborazione


freetom
07-03-2011, 16:29
Cerco di spiegarmi meglio...

Ho un file 1.exe che mi produce un file 1.txt
Poi ho un file 2.exe che mi deve elaborare il file 1.txt e quindi deve partire... solo dopo che il file 1.txt Ŕ stato prodotto interamente.

E' possibiile dire in qualche modo al file 2.exe, che non compilato sarÓ ovviamente 2.cpp, "aspetta a partire fino a che il file 1.txt non Ŕ presente nella tua stessa directory?"

Mi andrebbe bene qualsiasi soluzione anche via file.bat per esempio...

Grazie per il vostro aiuto

:ciauz:

fasterrr
07-03-2011, 17:45
basta che quando apri il file controlli se il valore del file pointer Ŕ NULL.
Se Ŕ null il file non esiste, quindi fai una pausa.
Es.

FILE *in;
do{
in=fopen("1.txt", "r");
if(in==NULL)
Sleep(1000);
}while(in==NULL);
//seguito

bye :98:

freetom
07-03-2011, 22:16
Originariamente inviato da fasterrr
basta che quando apri il file controlli se il valore del file pointer Ŕ NULL.
Se Ŕ null il file non esiste, quindi fai una pausa.
Es.

FILE *in;
do{
in=fopen("1.txt", "r");
if(in==NULL)
Sleep(1000);
}while(in==NULL);
//seguito

bye :98:

Ho provato ma mi da il seguente errore:

prova-attesa-file.cpp `sleep' undeclared (first use this function)

Come lo devo definire sleep?

Grazie!

:ciauz:

lolide
07-03-2011, 22:40
Originariamente inviato da freetom
Ho provato ma mi da il seguente errore:

prova-attesa-file.cpp `sleep' undeclared (first use this function)

Come lo devo definire sleep?

Grazie!

:ciauz:

Sleep con la prima maiuscola... Ŕ definita in windows.h

Sleep () (http://msdn.microsoft.com/en-us/library/ms686298(v=vs.85).aspx)

freetom
07-03-2011, 22:43
Originariamente inviato da lolide
Sleep con la prima maiuscola... Ŕ definita in windows.h

Sleep () (http://msdn.microsoft.com/en-us/library/ms686298(v=vs.85).aspx)

Grazie della precisazione lolide ma come la posso usare? e includere?

:ciauz:

freetom
07-03-2011, 22:45
Originariamente inviato da freetom
Grazie della precisazione lolide ma come la posso usare? e includere?

:ciauz:

Scusa risolto!
avevo messo

#include <windows.h> ma scrivendo sleep con la s minuscola ;)

GRAZIE 1000 ad entrambi!

:ciauz:

Loading