调试了好几天了,来个人教教我这个C语言小菜吧
这代码给我敲哭了
函数只能在函数外定义,除了 C++ lambda 表达式 可以在函数内定义匿名函数
case里面肯定是函数调用啊,你写了个函数定义算啥意思呢
把函数定义拿到外面
case里面调用
其实我们平时也有用到低级格式化,其实就将所有数据置为0。然后再执行高级格式化就好了。
void low_init(){
int temp;
read(Disk,&temp,sizeof(int));
if(temp){
printf("此操作会清空磁盘,且不可恢复,确定?Y/N ");
char s[10];
while(scanf("%s",s) != EOF && !(!strcmp(s,"Y") || !strcmp(s,"N")))
printf("请输入正确的字符");
if(strcmp(s,"N") == 0){
printf("用户取消\n");
return ;
}
}
close(Disk);
Disk = open(DISK,O_WRONLY);
int a[1024] = {0};
for(int i = 0;i < 1<<15;i++) write(Disk,a,sizeof(a));//全部位置置0
close(Disk);
Disk = open(DISK,O_RDONLY);
printf("低级格式化完成\n");
init(0);
}
这里其实和创建文件很类似,但是要注意判断是否已有系统给与对应提示。