⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 好东西啊
💻 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 + -