![]() |
[求助]二进制文件的读写代码问题
以下是二进制文件的读写示例的代码:
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'是一样的,但是内部原理不懂。 希望大家能帮我解决这些问题,很基础,但是我忘记了很多。谢谢大家了! |
所有时间均为北京时间。现在的时间是 03:00。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.