雨哥请帮忙
雨哥你好:
用了各种办法,用变量nian,yue,ri二进制数据日期写到U盘里的数据老是乱码
请雨哥指点一下。
printf( "Open\n" );
strcpy( mCmdParam.Open.mPathName, "/AY_ADC.TXT" ); /* 原文件名 */
i = ExecCommand( CMD_FileOpen, MAX_PATH_LEN );
/* 打开文件,输入参数置为最大值,省得再计算参数长度 */
mStopIfError( i );
mCmdParam.ByteLocate.mByteOffset = 0xFFFFFFFF; /* 移动到文件尾,用于在CMD_FileOpen打开文件后,继续追加数据到已打开文件的末尾 */
i = ExecCommand( CMD_ByteLocate, 4 ); /* 以字节为单位移动文件指针 */
mStopIfError( i );
/* printf( "Write or append data\n" );*/
len = sprintf( mCmdParam.ByteWrite.mByteBuffer, "%04d.%02d.%02d\xd\xa\, nian,yue,ri); /* 将二制制数据格式为一行字符串 */
mCmdParam.ByteWrite.mByteCount = (unsigned char)len; /* 指定本次写入的字节数,不能超过MAX_BYTE_IO,否则另用缓冲区分多次写入 */
i = ExecCommand( CMD_ByteWrite, (unsigned char)(len+1) ); /* 以字节为单位向文件写入数据 */
mStopIfError( i );


peijing
10.06.29.
这人很懒,什么都没留下
有个问题需要注意一下,那就是TXT文件的格式问题,TXT文本是以ASCII码形式显示的,所以你写进去的数据如果想在电脑上看到,就必须在你要写的数据上加0x30,比如,要显示1,不是发1,否则就是乱码,而是0x31.你这里就是这个问题,其实数据已经写到文件中了,并且是正确的,只不过你在电脑上看到的是乱码,注意一下格式就可以了。
此号封存
谢谢雨哥.我已经搞出来了。
peijing
[Emot]2[/Emot]
这人很懒,什么都没留下
只有登录才能回复,可以选择微信账号登录