📄 main.c
字号:
#include "stdio.h"
#include "types.h"
#include "fat.h"
#include "sal.h"
#include "FAT_cfg.h"
FILE *file2;
void main(void)
{
u32 cc,bb;
u16 COUNT;
u8 a,ATTR,j;
u8 HANDLE1;
u8 buf[65535];
u8 ddd[] = "c:\\ok\\aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAAAAAAAAAAAAAAAaaaaaaaaa.rar";
flash_management_sysinit();
FAT_filesystem_initialiation();
volume_inquiry('c',&cc,&bb);
printf("Volume Capacity: %ld\n",cc);
printf("Volume FreeSpace: %ld\n",bb);
/* 建立一个目录CREATE_FOLDER_TEST,以测试建立目录函数create_floder() */
create_floder("aaaaaaaaaa");
create_floder("aaaaaaaaaaA");
create_floder("aaaaaaaaaaA");
create_floder("aaaaaaaaaaAA");
create_floder("C:\\AAAAAAAAAAAaaaaaa");
create_floder("C:\\AAAAAAAAAAAaaaaaa");
create_floder("CREATE_FOLDER_TEST");
create_floder("CREATE_FOLDER_TEST");
/* 在目录CREATE_FOLDER_TEST下建立一个文件,以测试建立目录函数create_file() */
create_file("C:\\CREATE_FOLDER_TEST\\created_file.txt");
create_file("C:\\CREATE_FOLDER_TEST\\created_file.txt");
create_file("C:\\CREATE_FOLDER_TEST\\AAAAAAAAAAB");
create_file("C:\\CREATE_FOLDER_TEST\\AAAAAAAAAAB");
create_file("file.txt");
return ;
a = open_file("file.txt");
//此处不能返回失败;
write_file(a,buf, 0x1000);write_file(a,buf, 0x1000);
return ;
write_file(a,buf, 0x1000);write_file(a,buf, 0x1000);
close_file(a);
/* 重命令文件CREATE_FOLDER_TEST\\created_file.txt为"DFDFDFDFDFDFDFDFSDFSDTONY.TXT"
,以测试重命名文件函数rename_file() */
rename_file("C:\\CREATE_FOLDER_TEST\\created_file.txt","DFDFDFDFDFDFDFDFSDFSDTONY.TXT");
scanf("%c",&a);
/* 列举CREATE_FOLDER_TEST目录下面的所有文件,打印到屏幕 */
cd_folder("CREATE_FOLDER_TEST",0);
a = 0;
while(folder_enumeration(buf,a,&ATTR) == SUCC)
{
printf("\nreaded entry=%s Attr = %x",buf,ATTR);
if(a == 0)
a = 1;
}
scanf("%c",&a);
cd_folder(" ",1);
/* 列举根目录下面的所有文件,打印到屏幕 */
a = 0;
while(folder_enumeration(buf,a,&ATTR) == SUCC)
{
printf("\nreaded entry=%s Attr = %x",buf,ATTR);
if(a == 0)
a = 1;
}
scanf("%c",&a);
//printf("create folder:OK a = %d",a);
create_floder("OK");
/* OK目录下连续写文件,readed.rar,直到磁盘被写满 */
j = 0;
COUNT = 0;
do{
for(a = 0;a<25;a++)
{
COUNT++;
if(create_file(ddd) == SUCC)
{
printf("Create file %s successfully\n",ddd);
HANDLE1 = open_file(ddd);
if ((file2 = fopen("readed.rar","rb+")) == NULL)
{
return;
}
if(HANDLE1 != FAIL)
{
printf("\nOpen File %s successfully",ddd);
do{
printf("x");
cc = fread(buf,1,40000,file2);
write_file(HANDLE1,buf, cc);
if(cc < 40000)
break;
}while(1);
close_file(HANDLE1);
fclose(file2);
}
}
else
printf("Create file %s failed\n",ddd);
ddd[6+j] ++;
}
j++;
}while(j< 20);
/* 把磁盘内的所有文件分离出来
a = 0;
while(disk_enumeration(buf,a,&ATTR) == SUCC)
{
printf("\nreaded entry=%s Attr = %x",buf,ATTR);
if(a == 0)
a = 1;
if(ATTR & ATTR_DIRECTORY)
{
mkdir(buf+3);
continue;
}
else
{
if ((file2 = fopen(buf+3,"wb+")) == NULL)
{
return;
}
else
HANDLE1 = open_file(buf);
}
if(HANDLE1 != FAIL)
do{
cc = read_file(HANDLE1,buf+400,50000);
printf("\nreaded chars = %ld ",cc);
fwrite(buf+400,1,cc,file2);
//printf("bbbbbbbb");
if(cc != 50000)
{ //printf("aaaaaaaa");
close_file(HANDLE1);
//printf("ccccccccc");
break;
}
}while(1);
else{
//printf("Openfile failed!");
}
fclose(file2);
}
//*/
/* 删除文件CREATE_FOLDER_TEST\\created_file.txt */
//delete_file("CREATE_FOLDER_TEST\\created_file.txt");
/* 删除目录CREATE_FOLDER_TEST */
//delete_folder("CREATE_FOLDER_TEST");
scanf("%c",&a);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -