关键代码如下
- void txt(u8* fname)
- {
- //FIL* test;
- FIL* ftemp;
- u8* buf;
- u32 br=1;
- u8 res=0;
- // test = (FIL*)mymalloc(SRAMIN, sizeof(FIL));
- ftemp = (FIL*)mymalloc(SRAMIN,sizeof(FIL));
- buf=mymalloc(SRAMIN,512);
- if(ftemp&&buf)
- {
- res=f_open(ftemp,(TCHAR*)fname,FA_READ);
- // res=f_open(test,"0:/TXT/test.c",FA_OPEN_ALWAYS | FA_READ | FA_WRITE);
- if(res == FR_OK)
- {
- printf("
开始输出txt文件
");
- for(;;)
- {
- res=f_read(ftemp,buf,sizeof(buf),&br);
- // f_puts((TCHAR*)buf, test);
- // f_sync(test);
- printf("%s",buf);
- if(res || br<sizeof(buf)) break;
- }
- }
- else
- printf("文件打开失败
");
- }
- else
- printf("内存分配失败
");
- f_close(ftemp);
- // f_close(test);
- // myfree(SRAMIN,test);
- myfree(SRAMIN,ftemp);
- myfree(SRAMIN,buf);
- }
复制代码
这是输出结果,问题就是每个四个字节出来一个 ‘T’, 很是疑惑
将代码中的注释撤销,结果‘T'就没了
很是迷惑注释部分所实现的功能是将原有的txt文件的内容输出到新的txt内,
求解惑谢谢!
一周热门 更多>