void bt() { printf("程序正在自检,请稍等\n"); char buffer[1024]; FILE* fp=NULL; FILE* dp=NULL; while (1) { if (fopen("D:/LeStoreDownload/biancheng/lab4/lab4/conf'.ini", "r") != NULL) { break; } else { printf("\n未检测到conf'.ini文件,正在重试\n"); fp = fopen("D:/LeStoreDownload/biancheng/lab4/lab4/conf'.ini", "w+"); fprintf(fp, "D:/lab3/output\nceshi.txt\n30\n100\n1\n100\n20\n20\n50"); } } while (1) { if (fopen("D:/LeStoreDownload/biancheng/lab4/lab4/config.ini", "r") != NULL) { break; } else { printf("\n未检测到config.ini文件,正在重试\n"); dp = fopen("D:/LeStoreDownload/biancheng/lab4/lab4/config.ini", "w+"); fprintf(dp, "1"); } } fclose(fp); fclose(dp); printf("\n自检完成,你好铁驭\n\n"); }修正程序
时间: 2023-06-18 19:08:19 浏览: 155
串数组习题:实现下面函数的功能。函数void insert(char*s,char*t,int pos)将字符串t插入到字符串s中,插入位置为pos。假设分配给字符串s的空间足够让字符串t插入。
void bt() {
printf("程序正在自检,请稍等\n");
FILE* fp = NULL;
FILE* dp = NULL;
while (1) {
fp = fopen("D:/LeStoreDownload/biancheng/lab4/lab4/conf.ini", "r");
if (fp != NULL) {
fclose(fp);
break;
}
else {
printf("\n未检测到conf.ini文件,正在重试\n");
fp = fopen("D:/LeStoreDownload/biancheng/lab4/lab4/conf.ini", "w+");
fprintf(fp, "D:/lab3/output\nceshi.txt\n30\n100\n1\n100\n20\n20\n50");
fclose(fp);
}
}
while (1) {
dp = fopen("D:/LeStoreDownload/biancheng/lab4/lab4/config.ini", "r");
if (dp != NULL) {
fclose(dp);
break;
}
else {
printf("\n未检测到config.ini文件,正在重试\n");
dp = fopen("D:/LeStoreDownload/biancheng/lab4/lab4/config.ini", "w+");
fprintf(dp, "1");
fclose(dp);
}
}
printf("\n自检完成,你好铁驭\n\n");
}
修正方案:
1. 将文件名中的单引号改为点号。
2. 在打开文件之前,需要判断文件是否存在,可以使用fopen函数的返回值判断。
3. 在写文件之后,需要关闭文件。
4. 在第一个while循环和第二个while循环中,判断文件是否存在的方法相同,可以写成函数。
阅读全文