ucErr = ch374_CreateFile("/ABC"); StopIfError(ucErr); ucErr = ch374_CreateFile("/ABC/DEF.TXT"); StopIfError(ucErr); ////////////////////////////////////////////// uint8_t ch374_CreateFile(char *_pFileName) { strcpy((char *)mCmdParam.Create.mPathName, _pFileName); return CH374FileCreate(); } 我想建立一个文件夹 然后把一些TXT的文件放进去 然后文件夹名字改成时间 现在建立不了文件夹 无法设别的格式
ucErr = ch374_CreateFile("/ABC");把这句话去掉,然后在U盘里事先建立一个文件夹叫ABC 再往里面写DEF.TXT 是好使的
目录的创建使用CreateDirectory( ),你可以参考一下EXAM9用于创建子目录。
恩 正在看 谢谢 我发现这个事了
PUINT8I 这个是什么
PUINT8I代表typedef unsigned char idata *PUINT8I; 具体还有其他定义看一下CH374HF6.H这个文件。
谢谢 已经能建立文件夹了 但是怎么不能再向里面建TXT呢 strcpy( mCmdParam.Create.mPathName, "/ABC" ); /* 目录名,该目录建在根目录下 */ ucErr=CreateDirectory( ); StopIfError(ucErr); strcpy( mCmdParam.Create.mPathName, "/ABC/DEF.TXT" ); /* 文件名 */ ucErr = CH374FileCreate( ); /* 新建文件并打开,如果文件已经存在则先删除后再新建 */ StopIfError(ucErr);
你的流程应该没有问题,检查一下错误返回码,况且,你文件夹已经存在的情况下是可以创建的。
我想以数组A建立文件夹 然后在里面以数组B建立TXT,但是建立数组B时不会弄了 问号处应该怎么填合适呢 uint8_t A[]={'1','2','3'}; uint8_t B[]={'4','5','6'};
strcpy( mCmdParam.Create.mPathName,&A[0] ); /* 目录名,该目录建在根目录下 */ ucErr=CreateDirectory( ); StopIfError(ucErr);
strcpy( mCmdParam.Create.mPathName, ????); //建立TXT ucErr=CH374FileCreate(); StopIfError(ucErr);
文件名的赋值一定符合相应的格式,你可以先直接赋值字符串,然后再根据你的需求修改: uint8_t A[]={"/1","/2","/3"}; uint8_t B[]={"/1/4.TXT"."/2/5.TXT","/3/6.TXT"};
strcpy( mCmdParam.Create.mPathName,&A[0] ); /* 目录名,该目录建在根目录下 */ ucErr=CreateDirectory( ); StopIfError(ucErr);
strcpy( mCmdParam.Create.mPathName, ,&B[0]); //建立TXT ucErr=CH374FileCreate(); StopIfError(ucErr);
太感谢你了 好使了
最后还是格式的问题 问号处不知道怎么赋值了 格式不匹配 1.怎么让变量year(2013)直接赋给数组C的0000位置,不用拆分的方法呢。2 . year是个uchar型变量 怎么跟对应的数组匹配呢 。我现在就要0000变成2013 麻烦你了 uint8_t B[1][10]={"/ABCD2"}; uint8_t C[1][15]={"/ABCD2/0000.TXT"};
C[0][7]=year%1000; // ???????????
单片机C语言中没有类似于itoa( ):int型转换成字符串型的函数,你只能拆分自己做一个函数实现。然后调用memcpy(&C[0][7],p,4);p为转化成的字符串变量。
根目录建立个文件夹 子目录还有个文件夹 然后下面第二级有个.TXT 现在发现都能建立 名字都对 但是.TXT打开时提示文件名、目录名或卷标语法不正确 我建立TXT时没有寻找前两级目录 直接再第二个文件夹建立完打开后就建立了 也建出来了 是不是必须寻找前两级目录呢
不是必须寻找的 直接就行 还是我别的地方出错 再找找
你打开文件的时候必须寻找前两级目录的,建立的时候你只要在已打开的目录下创建即可。