64,641
社区成员
发帖
与我相关
我的任务
分享
#include <sys/types.h>
#include <sys/stat.h>
#include <io.h>
#include <windows.h>
__int64 fl;
int n,r;
struct _stati64 st;
fl=-1i64;
n=0;
while (1) {
r=_stati64("等待别的程序写完的文件名",&st);
if (0==r) {
if (fl==-1i64) {
fl=st.st_size;
} else {
if (fl!=st.st_size) {
fl=st.st_size;
printf("别的程序没写完\n");
n=0;
}
}
n++;
if (n>30) {
printf("别的程序30秒都没写,当作其已经写完。\n");
break;
}
Sleep(1000);
} else {
printf("等待别的程序写完的文件名 不存在\n");
break;
}
}
#include <sys\stat.h>
#include <io.h>
#include <fcntl.h>
#include <share.h>
#include <windows.h>
int fh,n;
n=0;
while (1) {
Sleep(1000);
fh=_sopen("等待别的程序写完的文件名",_O_BINARY|_O_RDONLY|_O_RANDOM,_SH_DENYWR);
if (fh>=0) {
_close(fh);
printf("别的程序已写完\n");
break;
} else {
printf("别的程序没写完\n");
n++;
if (n>30) {
printf("等待别的程序写完30秒超时!\n");
break;
}
}
}