马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
以下是二进制文件的读写示例的代码:
function [data,count,status]=binio_examp
%BINIO_EXAMP二进制文件读写示例
%打开二进制文件写入数据
fid=fopen('magic5.bin','wb');
%写入文本数据
count=fwrite(fid,'喂,你好吗?','int32');
%写入数据
fwrite(fid,magic(5),'int32');
%关闭文件
status=fclose(fid);
%打开二进制文件读取数据
fid=fopen('magic5.bin','rb');
%读取文本
S=fread(fid,count,'int32');
disp(['读取数据类型:',class(S)]);
disp(['读取数据内容:',char(S')]);
%读取数据
[data count]=fread(fid,'int32');
data=reshape(data,5,5);
%关闭文件
status=fclose(fid);
我想问一下:
(1)count=fwrite(fid,'喂,你好吗?','int32');
%写入数据
fwrite(fid,magic(5),'int32');
这里的“count=”为什么要写在上面的fwrite语句中,而不是下面?读取数据的个数要从上面开始吗?为什么不从写入数据开始呢,也就是下一行开始?我试验了一下出错了。想知道原理。
(2)disp(['读取数据内容:',char(S')]);这句,char(S')括号中的是什么意思啊?如果理解为转置,那开始的S也没以转置的形式放置啊,为什么这里要转置呢,而我看到magic(5)和S'是一样的,但是内部原理不懂。
希望大家能帮我解决这些问题,很基础,但是我忘记了很多。谢谢大家了! |