求助
这个删除部分有没有错啊?为什么删除不了? 你好!很高兴能够帮助你解决问题。请告诉我你要删除的部分是什么,以及你尝试了什么代码来删除它。这样我才能更好地帮助你找到问题所在。以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 猜测:
感觉是在salary1.bat文件里定义了,以id为唯一值的相关信息,长度是LEN
代码是想通过输入id来匹配,通过循环来匹配
id不同则写入到临时文件linshi.bat,
id相同则跳过
最后通过删除源文件,重命名新文件来达到以id为对应的相关信息删除掉
我也蹲一个,看看代码是哪里问题 本帖最后由 jackz007 于 2024-6-10 22:11 编辑
#include <stdio.h>
#include <string.h>
void deleteFile()
{
Salary s ;
char a ;
FILE * fp1 , * fp2 ;
bool f ;
Menu1() ;
if((fp1 = fopen("salary1.dat" , "rb"))) {
if((fp2 = fopen("linshi.dat" , "wb"))) {
printf("请输入职工 ID : ") ;
scanf("%s" , a) ;
for(f = false ; fread(& s , LEN , 1 , fp1) ;) {
if(strcmp(s . id , a)) fwrite(& s , LEN , 1 , fp2) ;
else f = true ;
}
fclose(fp1) ;
fclose(fp2) ;
if(f) {
remove("salary1.dat") ;
rename("linshi.dat" , "salary1.dat") ;
printf("记录成功删除。\n") ;
} else {
remove("linshi.dat") ;
printf("记录无法找到。\n") ;
}
} else {
fprintf(stderr , "无法创建文件\\"linshi.dat\\"\n") ;
}
} else {
fprintf(stderr , "无法打开文件\\"salary1.dat\\"\n") ;
}
}
老司机了,难道不知道求助一定要贴出源代码文本? 都已经提了63个问题了,还是没有学会如何提问题
页:
[1]