终于可以读写U盘了~~~感谢贵公司的各位技术支持的帮助~~ 现在遇到的问题是:我们想读取一个已存在的文件,然后复制一份内容再次携入一个文件,类似于它的复件~~ 我们的代码如下,各位看看有何错误:
printf( "Open\n" ); // mCopyCodeStringToIRAM( mCmdParam.Open.mPathName, "/C51/CH375HFT.C" ); /* 文件名,该文件在C51子目录下 */ // i = CH375FileOpen( ); /* 打开文件 */ // if ( i == ERR_MISS_DIR || i == ERR_MISS_FILE ) /* 没有找到文件 */ // { printf( "没有找到此文件!" ); // *pRAMStr = "没有找到此文件!"; // } // else /* 找到文件或者出错 */ // { mStopIfError( i ); // TotalCount = 600; /* 准备读取总长度 */ // printf( "从文件中读出的前%d个字符是:\n",TotalCount ); // while ( TotalCount ) /* 如果文件比较大,一次读不完,可以再调用CH375ByteRead继续读取,文件指针自动向后移动 */ // { if ( TotalCount > MAX_BYTE_IO ) c = MAX_BYTE_IO; /* 剩余数据较多,限制单次读写的长度不能超过 sizeof( mCmdParam.ByteRead.mByteBuffer ) */ // else c = TotalCount; /* 最后剩余的字节数 */ // mCmdParam.ByteRead.mByteCount = c; /* 请求读出几十字节数据 */ // i = CH375ByteRead( ); /* 以字节为单位读取数据块,单次读写的长度不能超过MAX_BYTE_IO,第二次调用时接着刚才的向后读 */ // mStopIfError( i ); // TotalCount -= mCmdParam.ByteRead.mByteCount; /* 计数,减去当前实际已经读出的字符数 */ // for ( i=0; i!=mCmdParam.ByteRead.mByteCount; i++ ) // { *pRAMStr = mCmdParam.ByteRead.mByteBuffer[i]; // pRAMStr ++; // } /* 显示读出的字符 */ // if ( mCmdParam.ByteRead.mByteCount < c ) /* 实际读出的字符数少于要求读出的字符数,说明已经到文件的结尾 */ // { printf( "\n" ); // printf( "文件已经结束\n" ); // break; // } // } // } // mCopyCodeStringToIRAM( mCmdParam.Create.mPathName, "/COPY.TXT" ); /* 新文件名,在根目录下,中文文件名 */ // i = CH375FileCreate( ); /* 新建文件并打开,如果文件已经存在则先删除后再新建 */ // mStopIfError( i ); // while( 1 ) /* 分多次写入文件数据 */ // { for ( i=0; i// { c = *pRAMStr; // mCmdParam.ByteWrite.mByteBuffer[i] = c; // if ( c == 0 ) break; /* 源字符串结束 */ // pRAMStr++; // } // if ( i == 0 ) break; /* 源字符串结束,完成写文件 */ // mCmdParam.ByteWrite.mByteCount = i; /* 写入数据的字符数,单次读写的长度不能超过MAX_BYTE_IO,第二次调用时接着刚才的向后写 */ // i = CH375ByteWrite( ); /* 向文件写入数据 */ /// mStopIfError( i ); // } // printf( "Close\n" ); // mCmdParam.Close.mUpdateLen = 1; /* 自动计算文件长度,以字节为单位写文件,建议让程序库关闭文件以便自动更新文件长度 */ // i = CH375FileClose( ); // mStopIfError( i ); // P1_2 = 0; /*复制结束*/