我尝试在C中打开文件时使用重试,我想知道这种方式是否适当,对我来说似乎有些不整洁。
while(openRetry<=3){
fp = fopen(lgConfig.lgFlHndl.fileName, "rb");
if(fp==NULL){
if(openRetry<3){
openRetry++;
}
else{
if (LogFile_Reconstruct(&lgConfig)){
ret=1;
break;
}
else{
ret=0;
}
}
}
else{
ret=1;
break;
}
}
我将感谢任何改进或对更整洁的算法的一些参考
我使用Visual Studio 2010作为IDE 谢谢
答案 0 :(得分:0)
一些清洁代码,至少在我看来。但这只是为了说明我的想法。
ret = 0;
while (openretry <= 3) {
fp = fopen(lgConfig.lgFlHndl.fileName, "rb");
if (fp) {
ret = 1;
break;
}
openRetry++;
if(openRetry == 4) {
ret = LogFile_Reconstruct(&lgConfig));
break;
}
sleep/yield(some millsecs); //Should have some delaying mechanism
}