www.pudn.com > 传奇3源代码.rar > lock.c
#include#include "lock.h" // 彂偒崬傒僼傽僀儖偺曐岇張棟 // 乮彂偒崬傒偑廔傢傞傑偱丄媽僼傽僀儖傪曐娗偟偰偍偔乯 // 怴偟偄僼傽僀儖偺彂偒崬傒奐巒 FILE* lock_fopen(const char* filename,int *info) { char newfile[512]; FILE *fp; int no = 0; // 埨慡側僼傽僀儖柤傪摼傞乮庤敳偒乯 do { sprintf(newfile,"%s_%04d.tmp",filename,++no); } while((fp = fopen(newfile,"r")) && (fclose(fp), no<9999) ); *info = no; return fopen(newfile,"w"); } // 媽僼傽僀儖傪嶍彍仌怴僼傽僀儖傪儕僱乕儉 int lock_fclose(FILE *fp,const char* filename,int *info) { int ret = 0; char newfile[512]; if(fp != NULL) { ret = fclose(fp); sprintf(newfile,"%s_%04d.tmp",filename,*info); remove(filename); // 偙偺僞僀儈儞僌偱棊偪傞偲嵟埆丅 rename(newfile,filename); return ret; } else { return 1; } }