在matlab中,使用fwrite函数将一个向量A写入文件中时,A中的正数写入正常,但负数全部变成了0.
例如:A=[1,-2,3,-4,5];fid=fopen('file.bin','w');fwrite(fid,A);fclose(fid);执行程序之后,用UltraE...
例如:
A = [1, -2, 3, -4, 5];
fid = fopen('file.bin', 'w');
fwrite(fid, A);
fclose(fid);
执行程序之后,用Ultra Edit以16进制方式打开file.bin文件,结果是01 00 03 00 05.
请高手解答,感激不尽! 展开
A = [1, -2, 3, -4, 5];
fid = fopen('file.bin', 'w');
fwrite(fid, A);
fclose(fid);
执行程序之后,用Ultra Edit以16进制方式打开file.bin文件,结果是01 00 03 00 05.
请高手解答,感激不尽! 展开
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
换成字符串再写:
fwrite(fid, int2str(A));
要写多行的话后面再加上换行符0x0A 0x0D
fwrite(fid, int2str(A));
要写多行的话后面再加上换行符0x0A 0x0D
追问
这不是我要的结果啊。
用这种方法,最后用十六进制打开文件,结果是:31 20 2D 32 20 20 33 20 2D 34 20 20 35。
将原本非A中的元素字符 '空格' 也写进去了,将负号'-2'分成了两个字符 '-' 和 '2' 并分别以ASCII码存入文件,而不是用补码的形式。
因为我要将A写入文件之后,再在其他软件中读取,这样的话读取会有问题的吧!
望解答!谢谢了!
追答
然后再用别的软件按行读进去,再处理字符串应该就可以了吧;
按空格符分割字符串,再转换这样。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询