用CH375 实现对U盘的读写 现在遇到个情况就是 用下面的方法新建文本时可以正常创建,而且当第二次创建的时候会先删除在创建 mCopyCodeStringToXRAM(mCmdParam.Open.mPathName,"/12345678.TXT"); i = CH375FileCreate(); mStopIfError(i); 用下面的方法也能正常创建且文件名与上面的方法相同,但是第二次创建的时候不能实现先删除在创建的功能 请高手指点一下 为什么 unsigned char code filename[13]="/12345678.TXT"; memcpy(mCmdParam.Open.mPathName,filenamefm,13); i = CH375FileCreate(); mStopIfError(i);
这个文件可以删除吗?在创建的时候文件名是否正确? unsigned char code filename[14]="/12345678.TXT"; 你用的是字符串,后面还有个0
在U盘里创建的文件可以删除 创建的文件名也是正确的 都是12345678.TXT 而且 在创建文件名之前 把mCmdParam.Open.mPathName的值输出来 两种方法输出的结果是一样的 2F 31 32 33 34 35 36 37 38 2E 54 58 54 对应于 / 1 2 3 4 5 6 7 8 . T X T
你不觉得这样会有问题吗? unsigned char code filename[13]="/12345678.TXT"; 建议你修改后测试,如果全部一样哪结果就是一样。 输出的前提是你知道长度。在数据复制过程中结束符0没有被复制进去,可能会有问题。
把memcpy(mCmdParam.Open.mPathName,filenamefm,13); 语句换成strcpy( mCmdParam.Open.mPathName,filenamefm );,这样在这个文件后面会自动加一个字节的0
好用了! 换成strcpy( mCmdParam.Open.mPathName,filenamefm );就好用了 应该是字符串的问题 贵公司的技术支持做的太好了···谢谢各位大虾了